docs: function(props){
  			var self = this;
  			return new Promise(function(resolve, reject){
  				// Wait until all create promises are done
  				// so that we can find data in the instance store
  				createPromise.then(function(){
  					// Allow time for the store to get hydrated
  					setTimeout(function(){
  						var id = self.id(props);
  						var instance = self.instanceStore.get(id);
  						var serialized;
  
  						if( instance ) {
  							// already created, lets update
  							resolve(self.updateInstance(props));
  						} else {
  							instance = self.hydrateInstance(props);
  							serialized = self.serializeInstance(instance);
  
  							self.addInstanceReference(instance);
  
  							Promise.resolve( self.createdData(props, serialized) ).then(function(){
  								self.deleteInstanceReference(instance);
  								resolve(instance);
  							});
  						}
  					}, 1);
  				});
  			});
  		}