Refactored into player and playlist module, with major revision on keeping playlist properly updated between add / removes of playlist element