Smart Ptr and Singleton

smart ptrs for gameobjects and singleton simplicity