moved observer stuff into gamemanager and actual classes