new design of the gameobject framework