code: function(actionName) {
          var args = [].slice.call(arguments, 1);
          var target;
  
          if (this._actions && this._actions[actionName]) {
            if (this._actions[actionName].apply(this, args) === true) {
              // handler returned true, so this action will bubble
            } else {
              return;
            }
          }
  
          if (target = get(this, 'target')) {
            Ember.assert("The `target` for " + this + " (" + target + ") does not have a `send` method", typeof target.send === 'function');
            target.send.apply(target, arguments);
          }
        }
docs: Triggers a named action on the `ActionHandler`. Any parameters
  supplied after the `actionName` string will be passed as arguments
  to the action target function.
  
  If the `ActionHandler` has its `target` property set, actions may
  bubble to the `target`. Bubbling happens when an `actionName` can
  not be found in the `ActionHandler`'s `actions` hash or if the
  action target function returns `true`.
  
  Example
  
  ```js
  App.WelcomeRoute = Ember.Route.extend({
  actions: {
  playTheme: function() {
  this.send('playMusic', 'theme.mp3');
  },
  playMusic: function(track) {
  ...
  }
  }
  });
  ```
  
  @method send
  @param {String} actionName The action to trigger
  @param {*} context a context to send with the action