Fix: PlayPause button icon responds to playback state
change: split main controller into 3 controllers and added new services