options.js
function(options){
			var option,
				o;

			this.options || (this.options = {});
			o = this.options = primish.merge(primish.clone(this.options), options);

			// add the events as well, if class has events.
			if ((this.on && this.off))
				for (option in o){
					if (o.hasOwnProperty(option)){
						if (typeof o[option] !== sFunction || !(/^on[A-Z]/).test(option)) continue;
						this.on(removeOn(option), o[option]);
						delete o[option];
					}
				}
			return this;
		}
function(options){
			var option,
				o;

			this.options || (this.options = {});
			o = this.options = primish.merge(primish.clone(this.options), options);

			// add the events as well, if class has events.
			if ((this.on && this.off))
				for (option in o){
					if (o.hasOwnProperty(option)){
						if (typeof o[option] !== sFunction || !(/^on[A-Z]/).test(option)) continue;
						this.on(removeOn(option), o[option]);
						delete o[option];
					}
				}
			return this;
		}
function ( options ) { var option , o ; this . options || ( this . options = { } ) ; o = this . options = primish . merge ( primish . clone ( this . options ) , options ) ; // add the events as well, if class has events. if ( ( this . on && this . off ) ) for ( option in o ) { if ( o . hasOwnProperty ( option ) ) { if ( typeof o [ option ] !== sFunction || ! ( / ^on[A-Z] / ) . test ( option ) ) continue ; this . on ( removeOn ( option ) , o [ option ] ) ; delete o [ option ] ; } } return this ; }
a mixin class that allows for this.setOptions
a mixin class that allows for this . setOptions