code: function (toggle) {
              if (arguments.length == 1 ? toggle : !this._paused) {
                  this.trigger('Pause');
                  this._paused = true;
                  setTimeout(function(){ Crafty.timer.stop(); }, 0);
                  Crafty.keydown = {};
              } else {
                  this.trigger('Unpause');
                  this._paused = false;
                  setTimeout(function(){ Crafty.timer.init(); }, 0);
              }
              return this;
          }
docs: @
  #Crafty.pause
  @category Core
  @trigger Pause - when the game is paused
  @trigger Unpause - when the game is unpaused
  @sign public this Crafty.pause(void)
  
  Pauses the game by stopping the EnterFrame event from firing. If the game is already paused it is unpaused.
  You can pass a boolean parameter if you want to pause or unpause mo matter what the current state is.
  Modern browsers pauses the game when the page is not visible to the user. If you want the Pause event
  to be triggered when that happens you can enable autoPause in `Crafty.settings`.
  
  @example
  Have an entity pause the game when it is clicked.
  ~~~
  button.bind("click", function() {
  Crafty.pause();
  });
  ~~~