overhauled playerView to handle session and cpmode logic. needs a sober look over.