interface IACL {
    function initialize(address permissionsCreator) external;

    // TODO: this should be external
    // See https://github.com/ethereum/solidity/issues/4832
    function hasPermission(address who, address where, bytes32 what, bytes how) public view returns (bool);
}
function hasPermission(address who, address where, bytes32 what, bytes how) public view returns (bool);

// TODO: this should be external
// See https://github.com/ethereum/solidity/issues/4832