code: def expand_actions(self, actions):
          
          results = list()
  
          for action in actions:
              if action in self.aliased_actions:
                  results.append(action)
                  for item in self.expand_actions(self.aliased_actions[action]):
                      results.append(item)
              else:
                  results.append(action)
  
          return results
docs: Accepts an array of actions and returns an array of actions which match.
          This should be called before "matches?" and other checking methods since they
          rely on the actions to be expanded.