extracted playback logic
merged playbackController + fixed playback resume issues