function ControlsModule() {
	    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

	    classCallCheck(this, ControlsModule);

	    this.params = Object.assign({
	      controls: false,
	      fix: function fix(controls) {
	        return controls;
	      },
	      update: function update(c) {
	        this.controls.update(c.getDelta());
	      }
	    }, params);
	    this.controls = this.params.controls;
	    this.update = this.params.update;
	  }
@class ControlsModule
@category modules/app
@param {Object} [params]
@memberof module:modules/app
@example <caption> Creating a rendering module and passing it to App's modules</caption>
new App([
  new ElementModule(),
  new SceneModule(),
  new DefineModule('camera', new WHS.PerspectiveCamera({
    position: new THREE.Vector3(0, 6, 18),
    far: 10000
  })),
  new RenderingModule(),
  new ControlsModule.from(new THREE.TrackballControls())
]);