docs: function(options) {
          var that = this;
          options = $.merge({
            condition: $.lambda(false),
            step: $.empty,
            onComplete: $.empty,
            duration: 200
          }, options || {});
  
          var interval = setInterval(function() {
            if(options.condition()) {
              options.step();
            } else {
              clearInterval(interval);
              options.onComplete();
            }
            that.viz.refresh(true);
          }, options.duration);
      }