Can pass an output to the player
Added TerminalScreen
Extracted mode stuff