Added a constructor, isObject, and isSingleton feature

- Allow objects to be used as services
- Allow sub-classes to be used as services
- Construct new instances by default