docs: function (args, callback) {
              var name = args.name;
              var View = args.Class;
              var options = args.options || {};
              var extra_options = args.extra;
              var view;
  
              // pageUID is a unique ID to identify an instance of a View.
              var pageUID = name + JSON.stringify(options).replace(/["{}]/g, "");
  
              // Add extra_options to options
              if (extra_options) {
                  options = _.extend(options, extra_options);
              }
  
              // Adjust the backhash option
              if (options && options.backhash) {
                  options.back = {
                      title: options.backtitle || 'Back',
                      hash:  options.backhash
                  };
              }
  
              // This view already exists.
              if (typeof this.views[pageUID] !== 'undefined') {
  
                  // Retrieve it.
                  view = this.views[pageUID];
  
              } else {
  
                  // Should we create a Header and/or Footer?
                  var noHeader = (options && options.noHeader) ||
                      (!Jackbone.DefaultHeader);
                  var noFooter = (options && options.noFooter) ||
                      (!Jackbone.DefaultFooter);
  
                  // Create the main content view.
                  var content = new View();
  
                  // Add headers and footer if required.
                  var header  = noHeader ? null : new Jackbone.DefaultHeader();
                  var footer  = noFooter ? null : new Jackbone.DefaultFooter();
  
                  // Build the root view.
                  view = new JQMView(header, content, footer);
  
                  // Store it in the cache for later retrieval.
                  this.views[pageUID] = view;
              }
  
              // Change its options and refresh.
              view.setOptions(options);
  
              // No controller is active, this is a Controller-less View.
              this.setCurrentController(null);
              view._pageUID = pageUID;
  
              if (typeof callback === 'function')
                  callback(view);
          }