constructor() {
    super();
    this.components = {};
    // To avoid double initializations and infinite loops.
    this.initializingComponents = {};
    this.componentsToUpdate = {};
    this.isEntity = true;
    this.isPlaying = false;
    this.object3D = new three__WEBPACK_IMPORTED_MODULE_3__.Group();
    this.object3D.rotation.order = 'YXZ';
    this.object3D.el = this;
    this.object3DMap = {};
    this.parentEl = null;
    this.rotationObj = {};
    this.states = [];
  }
Entity is a container object that components are plugged into to comprise everything in
the scene. In A-Frame, they inherently have position, rotation, and scale.

To be able to take components, the scene element inherits from the entity definition.

@property {object} components - entity's currently initialized components.
@property {THREE.Object3D} object3D - three.js object.
@property {string[]} states
@property {boolean} isPlaying - false if dynamic behavior of the entity is paused.