Moved GameObserver and added new base class