function _class(ofWhat) {
		_classCallCheck(this, _class);

		if (typeof ofWhat === 'function' && ofWhat.prototype) {
			Object.assign(this, {
				methods: new Map(),
				utils: new Map(),
				Activated: [],
				OverWritten: {},
				isActivated: false
			});
			Object.defineProperty(this, 'aidsIn', {
				value: ofWhat,
				writable: false
			});
		} else {
			throw Error('new Utility expects a class to be passed as the first argument.');
		}
	}
/**
  * Create a new utility
  * @constructs
  * @param {Function} ofWhat What class are we extending?
  * @throws {TypeError} The first argument of Utility must be a class.
  */
Create a new utility
@constructs
@param {Function} ofWhat What class are we extending.
@throws {TypeError} The first argument of Utility must be a class.
Create a new utility @constructs @param { Function } ofWhat What class are we extending . @throws { TypeError } The first argument of Utility must be a class .
function _class(ofWhat) {
		_classCallCheck(this, _class);
		if (typeof ofWhat === 'function' && ofWhat.prototype) {
			Object.assign(this, {
				methods: new Map(),
				utils: new Map(),
				Activated: [],
				OverWritten: {},
				isActivated: false
			});
			Object.defineProperty(this, 'aidsIn', {
				value: ofWhat,
				writable: false
			});
		} else {
			throw Error('new Utility expects a class to be passed as the first argument.');
		}
	}
function _class ( ofWhat ) { _classCallCheck ( this , _class ) ; if ( typeof ofWhat === 'function' && ofWhat . prototype ) { Object . assign ( this , { methods : new Map ( ) , utils : new Map ( ) , Activated : [ ] , OverWritten : { } , isActivated : false } ) ; Object . defineProperty ( this , 'aidsIn' , { value : ofWhat , writable : false } ) ; } else { throw Error ( 'new Utility expects a class to be passed as the first argument.' ) ; } }
Create a new utility
 @constructs
 @param {Function} ofWhat What class are we extending?
Create a new utility @constructs @param { Function } ofWhat What class are we extending?