anchor.diff:    void fire();
   }
   
  +/// An action that calls a custom function when it is fired.
   class ActionCallFunction extends ActionInstant {
     ActionCallback _function;
   
  +  /// Creates a new callback action with the supplied callback.
  +  ///
  +  ///     var myAction = new ActionCallFunction(() { print("Hello!";) });
     ActionCallFunction(this._function);
   
     void fire() {
  
positive.code:   }
  }
  
  class ActionRepeatForever extends Action {
    final ActionInterval action;
    double _elapsedInAction = 0.0;
  
    ActionRepeatForever(this.action);
  
    step(double dt) {
  
negative.code:     _actions.add(action);
    }
  
    /// Stops an [action] and removes it from the controller.
    ///
    ///     myNode.actions.stop(myAction);
    void stop(Action action) {
      if (_actions.remove(action)) {
        action._added = false;
  