code: function Simulator() {
          this.time = 0;
          this.method = new ExplicitEuler();;
          this.handlers = new Array();
          this.entities = new Array();
          this.initTime = 0;
          this.maxTime = 1;
          this.timeStep = 1;
          // override default attributes or methods
          for(var n in arguments[0]) {
              this[n] = arguments[0][n];
          }
      }
docs: The Simulator class executes a simulation of entities with events:
  - init: triggered after simulation execution is initialized
  - advance: triggered after simulation execution is advanced by a time step
  - complete: triggered after simulation execution is complete
  Override the isComplete method to specify alternate ending conditions.
  @type Object