function define(Class, constructor, type) {
  if (!client) { throw new Error('Usergrid not configured'); }
  if (typeof Class === 'function') {
    type = constructor;
    constructor = Class;
    Class = {};
  }
  Class._usergrid = {
    constructor: constructor,
    type: (type) ? type : constructor.name.toLowerCase()
  };
  _.mixin(Class, usergridStatics(client));
  return Class;
}
function define(Class, constructor, type) {
  if (!client) { throw new Error('Usergrid not configured'); }
  if (typeof Class === 'function') {
    type = constructor;
    constructor = Class;
    Class = {};
  }
  Class._usergrid = {
    constructor: constructor,
    type: (type) ? type : constructor.name.toLowerCase()
  };
  _.mixin(Class, usergridStatics(client));
  return Class;
}
function define ( Class , constructor , type ) { if ( ! client ) { throw new Error ( 'Usergrid not configured' ) ; } if ( typeof Class === 'function' ) { type = constructor ; constructor = Class ; Class = { } ; } Class . _usergrid = { constructor : constructor , type : ( type ) ? type : constructor . name . toLowerCase ( ) } ; _ . mixin ( Class , usergridStatics ( client ) ) ; return Class ; }
"Class" is optional. if omitted, a Class object will be created and returned. "type" is optional. if omitted, constructor name is used as the usergrid type.
Class is optional . if omitted a Class object will be created and returned . type is optional . if omitted constructor name is used as the usergrid type .