<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def route(self, origin, message):
        '''\
        Using the routing dictionary, dispatch a message to all subscribers

        :param origin: name of the origin node
        :type origin: :py:class:`str`
        :param message: message to dispatch
        :type message: :py:class:`emit.message.Message` or subclass
        '''
        # side-effect: we have to know all the routes before we can route. But
        # we can't resolve them while the object is initializing, so we have to
        # do it just in time to route.
        self.resolve_node_modules()

        if not self.routing_enabled:
            return

        subs = self.routes.get(origin, set())

        for destination in subs:
            self.logger.debug('routing "%s" -> "%s"', origin, destination)
            self.dispatch(origin, destination, message)