title: How would I add a method to this jQuery plugin pattern?
body: <p>I'm using the following code as the basis for a plugin I'm working on for a project - it's from an article on Smashing Magazine located here under the heading 'A Lightweight Start':</p>
  
  <p><a href="http://coding.smashingmagazine.com/2011/10/11/essential-jquery-plugin-patterns/">http://coding.smashingmagazine.com/2011/10/11/essential-jquery-plugin-patterns/</a></p>
  
  <p>It's been working fine for my purposes so far, but the rest of the article goes off on a tangent and talks about what jQuery UI widgets which I assume I would need the jQuery UI library for, which I don't really want to use.</p>
  
  <pre><code>/*!
   * jQuery lightweight plugin boilerplate
   * Original author: @ajpiano
   * Further changes, comments: @addyosmani
   * Licensed under the MIT license
   */
  
  // the semi-colon before the function invocation is a safety
  // net against concatenated scripts and/or other plugins
  // that are not closed properly.
  ;(function ( $, window, document, undefined ) {
  
      // undefined is used here as the undefined global
      // variable in ECMAScript 3 and is mutable (i.e. it can
      // be changed by someone else). undefined isn't really
      // being passed in so we can ensure that its value is
      // truly undefined. In ES5, undefined can no longer be
      // modified.
  
      // window and document are passed through as local
      // variables rather than as globals, because this (slightly)
      // quickens the resolution process and can be more
      // efficiently minified (especially when both are
      // regularly referenced in your plugin).
  
      // Create the defaults once
      var pluginName = 'defaultPluginName',
          defaults = {
              propertyName: "value"
          };
  
      // The actual plugin constructor
      function Plugin( element, options ) {
          this.element = element;
  
          // jQuery has an extend method that merges the
          // contents of two or more objects, storing the
          // result in the first object. The first object
          // is generally empty because we don't want to alter
          // the default options for future instances of the plugin
          this.options = $.extend( {}, defaults, options) ;
  
          this._defaults = defaults;
          this._name = pluginName;
  
          this.init();
      }
  
      Plugin.prototype.init = function () {
          // Place initialization logic here
          // You already have access to the DOM element and
          // the options via the instance, e.g. this.element
          // and this.options
      };
  
      // A really lightweight plugin wrapper around the constructor,
      // preventing against multiple instantiations
      $.fn[pluginName] = function ( options ) {
          return this.each(function () {
              if (!$.data(this, 'plugin_' + pluginName)) {
                  $.data(this, 'plugin_' + pluginName,
                  new Plugin( this, options ));
              }
          });
      }
  
  })( jQuery, window, document );
  </code></pre>
  
  <p>I now need to add a method to this but I'm pretty clueless as to how to do so. </p>
  
  <p>The method needs to work in such a way that an instance of what the plugin is creating on the page can have a property dynamically changed by calling the method with a value via the console (eventually this will occur via some other process, but console is good for now).</p>
  
  <p>How would I go about amending the code above to allow for this? Or am I barking up the wrong tree?</p>
  
  <p>Any help would be greatly appreciated, complex JavaScript can leave me a bit lost in the dark at times I'm afraid but I like to try to do things as 'best practices' as possible.</p>