code: function(){
  				Object.defineProperty(this,'listen',{ value:function(){} });
  				var hasSyncEvent=this.self.store.hasSyncEvent;
  				this.on('request.started',function(){
  					S.log('request.started');
  					this.state='pending';
  					this.nodes.forEach(function(node){
  						node.first('.state').html('<img src="/web/sync-14.gif"/>');
  					});
  				}.bind(this));
  				this.on('request.success',function(){
  					S.log('request.success');
  					if(this.state==='pending') this.state='saved'; //the state could change to 'unsaved' for instance.
  					this.nodes.forEach(function(node){
  						var state=node.first('.state');
  						hasSyncEvent ? state.html('<img src="/web/sync-server.gif"/>') : state.empty();
  					});
  				}.bind(this));
  				
  				if(hasSyncEvent){
  					this.on('synced',function(){
  						S.log('synced');
  						this.nodes.forEach(function(node){
  							node.first('.state').empty();//TODO : gérer les cas où state !== sync-server.
  						});
  					}.bind(this));
  				}
  			}
docs: /*#if BROWSER