docs: function (header, content, footer) {
          Backbone.View.apply(this, []);
          this.header  = header;
          this.footer  = footer;
          this.content = content;
          this.needRedraw = true;
          this.needSetup  = true;
  
          // setup relations between header, footer and content.
          this.subviews = [];
          if (header) {
              // link header to its root view, content and footer.
              header.content = content;
              header.footer  = footer;
              header.root    = this;
              this.subviews.push(header);
          }
          if (footer) {
              // link footer to its root view, content and header.
              footer.content = content;
              footer.header  = header;
              footer.root    = this;
              this.subviews.push(footer);
          }
          if (content) {
              // link content view to its root view, header and footer.
              content.header  = header;
              content.footer  = footer;
              content.root    = this;
              this.subviews.push(content);
          }
      }