Register a named function in the graph

        :param name: name to register
        :type name: :py:class:`str`
        :param func: function to remember and call
        :type func: callable

        ``fields``, ``subscribe_to`` and ``entry_point`` are the same as in
        :py:meth:`Router.node`.

def register(self, name, func, fields, subscribe_to, entry_point, ignore):
        '''
        Register a named function in the graph

        :param name: name to register
        :type name: :py:class:`str`
        :param func: function to remember and call
        :type func: callable

        ``fields``, ``subscribe_to`` and ``entry_point`` are the same as in
        :py:meth:`Router.node`.
        '''
        self.fields[name] = fields
        self.functions[name] = func

        self.register_route(subscribe_to, name)

        if ignore:
            self.register_ignore(ignore, name)

        if entry_point:
            self.add_entry_point(name)

        self.logger.info('registered %s', name)