tests for events and utils on Base prototype, minor amend to initial prototype mixin
amended usages of utils: utils on inherited prototype.# Please enter the commit message for your changes. Lines starting# with '#' will be ignored, and an empty message aborts the commit.# On branch master# Your branch is ahead of 'origin/master' by 1 commit.#   (use "git push" to publish your local commits)## Changes to be committed:#   (use "git reset HEAD <file>..." to unstage)##	modified:   src/Collection.js#	modified:   src/Model.js#	modified:   src/View.js#diff --git src/Collection.js src/Collection.jsindex fdae334..14bf080 100644--- src/Collection.js+++ src/Collection.js@@ -68,7 +68,7 @@ define ( ['Base', 'Model'], function ( Base, Model ) {                 model = items[len];-                if (Base.isFunction(model.set)) {+                if (this.isFunction(model.set)) {                     this.getModels().push( model );@@ -76,7 +76,7 @@ define ( ['Base', 'Model'], function ( Base, Model ) {                     item = items[len];-                    if ( Base.isFunction(this.model) ) {+                    if ( this.isFunction(this.model) ) {                         model = this.model.create();                         this.getModels().push(model);diff --git src/Model.js src/Model.jsindex 77cda7c..dc65b56 100644--- src/Model.js+++ src/Model.js@@ -22,7 +22,7 @@ define( ['Base'], function ( Base ) {             this.properties = {};             if (options) {-                this.set( options );+                this.set(options);             }             return this;@@ -33,7 +33,7 @@ define( ['Base'], function ( Base ) {         },         set: function ( name, value ) {-            if ( Base.isString(name) ) {+            if ( this.isString(name) ) {                 this.properties[ name ] = value;             } else {                 for (var n in name) {diff --git src/View.js src/View.jsindex 2ee9e71..2fa3163 100644--- src/View.js+++ src/View.js@@ -1 +1 @@-define (['Base'], function ( Base ) {    var TAGNAME = 'div';    function getRootNode () {        return document.getElementsByTagName("body")[0];    }    // Build the constructor    return Base.construct({        // Start is optional, it's called if present,        // like a constructor        start: function () {            // Option properties override view properties            this.tagName = this.options ? this.options.tagName : TAGNAME;            this.rootNode = this.options ? this.options.rootNode : getRootNode();        },        /**         * Make a Tag         */        make: function () {            // All arguments are optional            var args = [].slice.call(arguments),                name = args[0] || this.tagName,                contents = args[1],                attrs = args[2],                i,                attr,                tag = document.createElement(name);            if (args.length === 2 && Base.isObject(contents)) {                contents = undefined;                attrs = args[1];            }            // Add the contents            if (typeof contents !== "undefined") {                if (Base.isNumber(contents) || Base.isString(contents)) {                    // If the contents is a Number or a String,                    // parse it to a textnode                    contents = document.createTextNode(contents);                }                if (Base.isArray(contents)) {                    // If our contents is an array,                    // append each one to the tag                    while ( i = contents.shift() ) {                        tag.appendChild(i);                    }                } else {                    tag.appendChild(contents);                }            }            // Add the attributes            if ( attrs ) {                for ( attr in attrs ) {                    if (attrs.hasOwnProperty( attr )) {                        // Add each attribute to the tag                        tag[ attr ] = attrs[ attr ];                        if ( !( attr in tag.attributes ) ) {                            // If the attribute wasnt't successfully added,                            // try again with setAttribute                            tag.setAttribute( attr, attrs[ attr ] );                        }                    }                }            }            // Finally return the new tag            return tag;        }    });});\ No newline at end of file+define (['Base'], function ( Base ) {    var TAGNAME = 'div';    function getRootNode () {        return document.getElementsByTagName("body")[0];    }    // Build the constructor    return Base.construct({        // Start is optional, it's called if present,        // like a constructor        start: function () {            // Option properties override view properties            this.tagName = this.options ? this.options.tagName : TAGNAME;            this.rootNode = this.options ? this.options.rootNode : getRootNode();        },        /**         * Make a Tag         */        make: function () {            // All arguments are optional            var args = [].slice.call(arguments),                name = args[0] || this.tagName,                contents = args[1],                attrs = args[2],                i,                attr,                tag = document.createElement(name);            if (args.length === 2 && this.isObject(contents)) {                contents = undefined;                attrs = args[1];            }            // Add the contents            if (typeof contents !== "undefined") {                if (this.isNumber(contents) || this.isString(contents)) {                    // If the contents is a Number or a String,                    // parse it to a textnode                    contents = document.createTextNode(contents);                }                if (this.isArray(contents)) {                    // If our contents is an array,                    // append each one to the tag                    while ( i = contents.shift() ) {                        tag.appendChild(i);                    }                } else {                    tag.appendChild(contents);                }            }            // Add the attributes            if ( attrs ) {                for ( attr in attrs ) {                    if (attrs.hasOwnProperty( attr )) {                        // Add each attribute to the tag                        tag[ attr ] = attrs[ attr ];                        if ( !( attr in tag.attributes ) ) {                            // If the attribute wasnt't successfully added,                            // try again with setAttribute                            tag.setAttribute( attr, attrs[ attr ] );                        }                    }                }            }            // Finally return the new tag            return tag;        }    });});\ No newline at end of file