I feel like the Unit should have a reference to its Gamestate as a member variable (or possibly a reference to its Player, which in turns has a Gamestate)