code: def _parse_action_list_attribute(attribute):
      
      actions = []
      for action_call in attribute.split(';'):
          action_call = action_call.strip()
          if action_call: # string is not empty
              actions.append(_parse_action(action_call))
      return actions
docs: Parses a list of actions, as found in the effect attribute of
      transitions, and the enry and exit actions of states.
  
      Actions are separated by a semicolon, surrounded by any amount of
      whitespace. A action can have the following form:
  
          m; m(); m(True); m(*)
  
      The asterisk that the state machine should provide the args and
      kwargs from the incoming event.