code: function (options) {
  
              var args = arguments;
  
              // Initialization
              if (args[0] == 'init') {
                  defaults = Pilotfish('extend', {}, defaults, options);
                  return Pilotfish;
              }
  
              settings = Pilotfish('extend', {}, defaults, options || {});
  
              // Welcome message
              if (args[0] == 'welcome') {
                  var welcomeSettings = Pilotfish('extend', {}, settings.welcome);
                  // If the second argument is a string, assume it is a welcome message
                  if (typeof args[1] == 'string') {
                      welcomeSettings.text = args[1];
  
                  // Otherwise its an object that is to override the default welcome settings
                  } else if (jQuery.isPlainObject(args[1])) {
                      welcomeSettings = Pilotfish('extend', {}, settings.welcome, args[1]);
                  }
  
                  // Allow a url override that forces a first time user
                  var urlOverride = location.search.indexOf('pilotfish_usher_welcome') > -1;
  
                  if (urlOverride || ! Pilotfish('session', welcomeSettings.sessionVariable)) {
                      // Display a welcome messgae
                      jQuery(window).load(function () {
                          window.pilotfishUsherWelcomeCalled = true;
                          window.setTimeout(function usherWelcome() {
                              window.pilotfishTimeoutCalled = true;
                              Pilotfish('speaker', welcomeSettings.text, {confirm: true}, function usherWelcomePrompt() {
                                  tour(settings);
                              });
                          }, welcomeSettings.delay);
                      });
                      Pilotfish('session', welcomeSettings.sessionVariable, 1);
                  }
                  Pilotfish('trigger', 'plugins:usher:welcome', {'msg': welcomeSettings.text, 'settings': settings});
                  return Pilotfish;
              }
  
              // Default, show the tour
              tour(settings);
  
              return Pilotfish;
          }
docs: ### Main entry point To star the tour: `Pilotfish('usher', options)`  To set default options: `Pilotfish('usher', 'init', options)`  To have the user asked to take a tour the first time, use: `Pilotfish('usher', 'welcome', welcomeOptions);