Adds some new general purpose OOP object definitions that we can start using elsewhere. Also renames Obj class to Singletons which better reflects what it does