Object factory class. Used to avoid circular import dependencies between several LMI classes. The class implements a singleton design pattern.
Example of usage:
LMIObjectFactory().register(SomeClass)
some_obj = LMIObjectFactory().SomeClass(*args, **kwargs)