// For discussion and comments, see: http://remysharp.com/2009/01/07/html5-enabling-script/ (credit to @jdalton for minif)
'abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video'.replace(/\w+/g,function(n){document.createElement(n)});

function sixd(options){
	var observers = [];
	var me = this;
	function notify(key, value){
        var ubounds = observers.length;
        var indexer = 0;
        for(indexer; indexer < ubounds; indexer++){
            if(observers[indexer].update !== undefined){
                observers[indexer].update(key, value);
            }
        }
    }

    this.addObserver = function(observer){
        observers.push(observer);
    };

    this.removeObserver = function(observer){
        var ubounds = observers.length;
        var indexer = 0;
        for(indexer; indexer < ubounds - 1; indexer++){
            if(observer === observers[indexer]){
                observers.splice(indexer, 1);
                break;
            }
        }
    };

    this.set = function(key, value){
        notify(key, value);
        me[key] = value;
    };

    this.get = function(key){
        return me[key];
    };

    if(options != null){
        for(prop in options){
            this.set(prop, options[prop]);
        }
    }

}
