Loads a class looking for it in each module registered. It's possible to load a class from
        specific namespace using **namespace** parameter or using classname as "namespace:classname".

        :param classname: Class name you want to load.
        :type classname: str
        :param namespace: Specific namespace where to look for class.
        :type namespace: str
        :return: Class object
        :rtype: type

def load_class(self, classname, namespace=None):
        """
        Loads a class looking for it in each module registered. It's possible to load a class from
        specific namespace using **namespace** parameter or using classname as "namespace:classname".

        :param classname: Class name you want to load.
        :type classname: str
        :param namespace: Specific namespace where to look for class.
        :type namespace: str
        :return: Class object
        :rtype: type
        """
        if namespace is None and ':' in classname:
            namespace, classname = classname.split(':', 1)
            return self.load_class(classname, namespace)
        if namespace:
            if namespace not in self._namespaces:
                raise NoRegisteredError("Namespace '{0}' is not registered on loader.".format(namespace))
            try:
                module = importlib.import_module(self._namespaces[namespace]) \
                    if isinstance(self._namespaces[namespace], str) else self._namespaces[namespace]

                return import_class(classname, module.__name__)
            except (AttributeError, ImportError):
                raise ImportError("Class '{0}' could not be loaded from namespace '{1}'.".format(classname,
                                                                                                 namespace))
        return super(LoaderNamespace, self).load_class(classname)