code: function(from, to, delay) {
      function step(params, duration, timing) {
        if (params.duration !== undefined) {
          duration = params.duration;
        }
        if (params.timing !== undefined) {
          timing = params.timing;
        }
  
        return {
          css: params.css || params,
          duration: duration,
          timing: timing
        };
      }
  
      return this.saveStyle()
        .queue(step(from, 0, this.defaults.timing))
        .wait(delay === undefined ? this.defaults.delay : delay)
        .queue(step(to, this.defaults.duration, this.defaults.timing))
        .restoreStyle();
    }
docs: Most of the animations follow this default process.
  
  @param {from} css or options object containing css
  @param {to} css or options object containing css
  @param {delay} delay to wait