code: function(destination, params){
        for(var i in params){
          var param = params[i];
          if(typeof param === "object" && param !== null && destination[i] && !ko.isWriteableObservable(destination[i])) {
            Utils.extendObjKnockout(destination[i], param); //use this.appky???
          }else{
            if(Utils.isObservableArray(destination[i])){
              if(param instanceof Array){
                destination[i](param);
              }else{
                destination[i].push(param);
              }
            }else if(ko.isWriteableObservable(destination[i])){
              destination[i](param);
            }else{
              destination[i] = param;
            }
          }
        }
        return destination;
      }
docs: Extend an object (destination) with observable properties with a given one (params) It is used in model constructor to extend the base object with the passed parameters To extend normal objects use ko.utils.extend