private void setupPage(int index) {
    String html = getHTMLString(pages.get(index));

    html = replaceVariables(html);
    htmlPanel.setHTMLString(html, base);
    setupActionPanelKeys(index);
    regionsContainer.removeRegionContent(Region.SOUTH);

    // setup views
    regionsContainer.setRegionContent(Region.CENTER, htmlPanel);
    if (duration == 0) {
      regionsContainer.setRegionContent(Region.SOUTH, actionPanel);
    }

    regionsContainer.setRegionContentVisibility(Region.CENTER, true);
    regionsContainer.setRegionContentVisibility(Region.SOUTH, true);

    // enable the actions
    if (duration == 0) {
      actionPanel.enableActionPanel();
    }
    currentIndex = index;

    // start timer
    if (timeoutHandler != null) {
      timeoutHandler.startTimeout(getExecutionContext());
    }
  }
 private void doCleanup() {
   if (timeoutHandler != null) {
     timeoutHandler.cancelTimeout();
   }
   actionPanel.disableActionPanel();
   regionsContainer.removeRegionContent(Region.SOUTH);
   regionsContainer.removeRegionContent(Region.CENTER);
 }