-'use strict'
-
 # The modelize main function
 # Returns a modelize object
 #
 # @param [Object] options The main configuration object for modelize
 #
 Modelize = (options) ->
-  api.add options.api unless api[options.api]?
-  mapi = api[options.api]
+  'use strict'
+
+  unless options.connector?
+    console.error 'No connector given for api: ' + options.api
+    return
+
+  options.connector.init options.api
+
+  options.connector.add_apis_to options.has_one, options.api if options.has_one?
   
-  add_apis_to options.has_one, options.api if options.has_one?
-
-  add_apis_to options.has_many, options.api if options.has_many?
+  options.connector.add_apis_to options.has_many, options.api if options.has_many?
+
+  connector = options.connector.get options.api
 
   # Provide the constructor function for the model object.
   # Enriches the optionally provided object with model functions.

        if self[name]?
          Observable self, name, new fn(self[name])
        else
          LazyObservable self, name, lazy_single_get_fn, relation_params

        self[name + '_get'] = single_get_fn.apply self, relation_params



          ObservableArray self, name + 's', items
        else
          ObservableArray self, name + 's', []
          #LazyObservableArray self, name + 's', lazy_get_fn, relation_params
        self[name + '_get'] = get_fn.apply self, relation_params

        # Create
