Update: player command handling moved to its own class