<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def bound(self, instance):
 """ Return a new dispatcher, which will switch all command functions with bounded methods of given instance matched by name. It will match only regular methods. :param instance: object instance :type instance: object :return: new Dispatcher :rtype: CommandDispatcher """


        bounded_dispatcher = CommandDispatcher()
        bounded_dispatcher.commands = self.commands.copy()

        for name in self.commands:
            method = getattr(instance, name, None)

            if method and inspect.ismethod(method) and method.__self__ == instance:
                bounded_dispatcher.commands[name] = method

        return bounded_dispatcher