function GenericModel(){
    //ID    
    var ID = Utils.guid();        
    
    //set property
    this.setProperty = function(key, value){
        //value here
        this.onChange();
    }        
    //get property
    this.getProperty = function(key){
        
    }
    
    //get the ID
    this.getID = function(){
        return ID;
    }
    
    //change occured
    this.onChange = function(){}
    
    //is front view
    this.isFrontView;
    this.setIsFrontView = function(val){
        this.isFrontView = val;
    }
    this.getIsFrontView = function(val){
        return this.isFrontView;
    }
    
    //has showed
    this.hasShowed;
    this.setHasShowed = function(val){
       this.hasShowed = val; 
    }
    this.getHasShowed = function(val){
       return (this.hasShowed==undefined)?false:this.hasShowed;
    }
    
    //has leaved
    this.hasLeaved;
    this.setHasLeaved = function(val){
        this.hasLeaved = val;
    }
    this.getHasLeaved = function(val){
        return (this.hasLeaved==undefined)?false:this.hasLeaved;
    }    
    
    //has depleted
    this.hasDepleted;
    this.setHasDepleted = function(val){
        this.hasDepleted = val;
        if(val){
            this.hasShowed = true;
        }
    }
    this.getHasDepleted = function(val){
        return this.hasDepleted;
    }       
    
}
