lib/base.js
function Base(options) {
  this.define('options', options || {});
  this.define('hints', this.hints || {});
  this.define('data', this.data || {});
  this.define('app', this.app || this.options.app || {});
  this.define('_cache', {});
  this.define('_callbacks', this._callbacks);

  if (typeof this.options.mixins === 'object') {
    this.visit('mixin', this.options.mixins);
  }
}
function Base(options) {
  this.define('options', options || {});
  this.define('hints', this.hints || {});
  this.define('data', this.data || {});
  this.define('app', this.app || this.options.app || {});
  this.define('_cache', {});
  this.define('_callbacks', this._callbacks);

  if (typeof this.options.mixins === 'object') {
    this.visit('mixin', this.options.mixins);
  }
}
function Base ( options ) { this . define ( 'options' , options || { } ) ; this . define ( 'hints' , this . hints || { } ) ; this . define ( 'data' , this . data || { } ) ; this . define ( 'app' , this . app || this . options . app || { } ) ; this . define ( '_cache' , { } ) ; this . define ( '_callbacks' , this . _callbacks ) ; if ( typeof this . options . mixins === 'object' ) { this . visit ( 'mixin' , this . options . mixins ) ; } }
Create an instance of `Base` with specified `options.

The `Base` class extends `Collection`, `List` and `Item`
with common methods, properties and behavior.

```js
function MyClass(options) {
Base.call(this, options);
}
Base.extend(MyClass);
```
@param {Object} `options`
@return {undefined}
@api public
Create an instance of Base with specified options .