contract ISmartToken is IOwned, IERC20Token {
    // this function isn't abstract since the compiler emits automatically generated getter functions as external
    function changer() public constant returns (ITokenChanger changer) { changer; }

    function disableTransfers(bool _disable) public;
    function issue(address _to, uint256 _amount) public;
    function destroy(address _from, uint256 _amount) public;
    function setChanger(ITokenChanger _changer) public;
}
/*
 Smart Token interface
 */
function changer() public constant returns (ITokenChanger changer) { changer; }

// this function isn't abstract since the compiler emits automatically generated getter functions as external