var panel_hooks;
 
 
+// prevent a console.log from blowing things up if we are on a browser that
+// does not support it
+if (typeof console === 'undefined') {
+  window.console = {} ;
+  console.log = console.info = console.warn = console.error = function(){};
+}
+
+
 (function(){
   // Classes
   var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
   
   init: function() {
     this._observers = {};
-    console.log('Created', this.guid());
   },
   
   description: function() {
   },
   
   addObserver: function(observer, property, callback) {
-    console.log('Add observer', observer.description(), 'to', this.description(), '[', property, ']');
+    // console.log('Add observer', observer.description(), 'to', this.description(), '[', property, ']');
     if (!this._observers[property]) {
       this._observers[property] = {}
     }
         this.removeObserver(observer, property)
       }
     } else {
-      console.log('Remove observer', observer.description(), 'from', this.description(), '[', property, ']');
+      // console.log('Remove observer', observer.description(), 'from', this.description(), '[', property, ']');
       delete this._observers[property][observer.guid()];
     }
     return this;
   notifyObservers: function(property) {
     var currentValue = this[property];
     for (var guid in this._observers[property]) {
-      console.log(this._observers[property][guid]);
-      console.log('Notifying', guid, 'of', this.description(), '[', property, ']');
+      // console.log(this._observers[property][guid]);
+      // console.log('Notifying', guid, 'of', this.description(), '[', property, ']');
       this._observers[property][guid](property, currentValue, this);
     }
     return this;