<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def register_path(self, path, modified_time=None):
 """ Registers given path. :param path: Path name. :type path: unicode :param modified_time: Custom modified time. :type modified_time: int or float :return: Method success. :rtype: bool """


        if not foundations.common.path_exists(path):
            raise foundations.exceptions.PathExistsError("{0} | '{1}' path doesn't exists!".format(
                self.__class__.__name__, path))

        if path in self:
            raise umbra.exceptions.PathRegistrationError("{0} | '{1}' path is already registered!".format(
                self.__class__.__name__, path))

        self.__paths[path] = (self.get_path_modified_time(
            path) if modified_time is None else modified_time, os.path.isfile(path))
        return True