lide(forward) {
      if(forward) {
        initFragments.call(this);
      }

      if(forward !== undefined) {
        this.classList.add(activeClass);
        this.classList.add(forward ? transition.forward.in : transition.backwards.in);
        this.addEventListener("webkitAnimationEnd", endAnimationOnNewSlide);
        return promiseOnEvent("webkitAnimationEnd", this);
      } else {
        this.classList.add(activeClass);
        return Promise.resolve("done");
      }
    }

    function hideSlide(f