<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_bjam_action (self, action_name, function=None):
 """Informs self that 'action_name' is declared in bjam. From this point, 'action_name' is a valid argument to the set_update_action method. The action_name should be callable in the global module of bjam. """


        # We allow duplicate calls to this rule for the same
        # action name.  This way, jamfile rules that take action names
        # can just register them without specially checking if
        # action is already registered.
        assert isinstance(action_name, basestring)
        assert function is None or callable(function)
        if action_name not in self.actions:
            self.actions[action_name] = BjamNativeAction(action_name, function)