AutoRef is a smart pointer on RefObject objects. AutoRef is templatized with the type of the pointed object (a class which publicly inherits from RefObject). In Commore, an AutoRef<MyType> is usually typedefed as PMyType. An AutoRef can be used in many ways
A commore::Service is an object that mimics an object in an object oriented system : it has a class name (its type) and a name (instance name). It provides callable methods (with call and #send), and has an internal state. A commore::Service is designed for being used via an AutoRef (it inherits from RefObject). However, Service doesn't use RefFactory, but ServiceFactory. This is because RefFactory interface is not suitable for the kind of arguments that is required in create methods. An service has a list of Interfaces (interface_list_ defined in Interface). These interfaces are the one that the object implements