contract Controlled {
    /// @notice The address of the controller is the only address that can call
    ///  a function with this modifier
    modifier onlyController { require(msg.sender == controller); _; }

    address public controller;

    function Controlled() public { controller = msg.sender;}

    /// @notice Changes the controller of the contract
    /// @param _newController The new controller of the contract
    function changeController(address _newController) public onlyController {
        controller = _newController;
    }
}
/// @title MyEtherWallet Campaign Contract
/// @author Jordi Baylina and Arthur Lunn
/// @dev This contract controls the issuance of tokens for the MiniMe Token
///  Contract. This version specifically acts as a Campaign manager for raising
///  funds for non-profit causes, but it can be customized for any variety of
///  purposes.
/// @dev Basic contract to indivate whether another contract is controlled
function changeController(address _newController) public onlyController {
    controller = _newController;
}

/// @notice Changes the controller of the contract
/// @param _newController The new controller of the contract