code: function convertObject(obj){
          var lookup, value;
  
          if(!canConvertType(obj)){
              return;
          }
  
          lookup = obj.__observable__;
  
          if(lookup && lookup.__full__){
              return;
          }
  
          lookup = lookup || (obj.__observable__ = {});
          lookup.__full__ = true;
  
          if (system.isArray(obj)) {
              var observable = ko.observableArray(obj);
              makeObservableArray(obj, observable);
          } else {
              for (var propertyName in obj) {
                  if(shouldIgnorePropertyName(propertyName)){
                      continue;
                  }
  
                  if(!lookup[propertyName]){
                      value = obj[propertyName];
  
                      if(!system.isFunction(value)){
                          convertProperty(obj, propertyName, value);
                      }
                  }
              }
          }
  
          if(logConversion) {
              system.log('Converted', obj);
          }
      }
docs: Converts an entire object into an observable object by re-writing its attributes using ES5 getters and setters. Attributes beginning with '_' or '$' are ignored.
  @method convertObject
  @param {object} obj The target object to convert.