 			return store.get id
 		null
 
+	###*
+	 * Adds a scope for `getObjectByName` to look for model types by name.
+	 * @param {Object} scope
+	###
+	Backbone.JJStore.addModelScope = (scope) ->
+		@._modelScopes.push scope
+  
+	###*
+	 * Removes a model scope
+	 * @param {Object} scope
+	###
+	Backbone.JJStore.removeModelScope = (scope) ->
+		@._modelScopes = _.without @._modelScopes, scope
+  
 
 	# !-
 	# ! Backbone JJRelationalModel

	# Basic setup
	
	Backbone.JJStore = {}
	Backbone.JJStore.Models = {}
	Backbone.JJStore.Events = _.extend {}, Backbone.Events




	###*
	 * Find a model type on one of the modelScopes by name. Names are split on dots.
	 * @param  {String} name                           
	 * @return {mixed}                                 
	###
	Backbone.JJRelational.__getObjectByName = (name) ->
	  parts = name.split('.')
	  type = null
	  _.find Backbone.JJStore._modelScopes, ((scope) ->
	    type = _.reduce(parts or [], (memo, val) ->
	      (if memo then memo[val] else `undefined`)
	    , scope)
	    true  if type and type isnt scope
	  ), this
	  type

	###*
	 * Registers one or many collection-types, in order to build a correct collection instance for many-relations.
