contract Pausable is Ownable {
  bool public stopped;

  modifier stopInEmergency {
    if (stopped) {
      throw;
    }
    _;
  }

  modifier onlyInEmergency {
    if (!stopped) {
      throw;
    }
    _;
  }

  // called by the owner on emergency, triggers stopped state
  function emergencyStop() external onlyOwner {
    stopped = true;
  }

  // called by the owner on end of emergency, returns to normal state
  function release() external onlyOwner onlyInEmergency {
    stopped = false;
  }

}
/*
 * Pausable
 * Abstract contract that allows children to implement an
 * emergency stop mechanism.
 */
function emergencyStop() external onlyOwner {
  stopped = true;
}

// called by the owner on emergency, triggers stopped state