contract Ambi2Enabled {
    Ambi2 public ambi2;

    modifier onlyRole(bytes32 _role) {
        if (address(ambi2) != 0x0 && ambi2.hasRole(this, _role, msg.sender)) {
            _;
        }
    }

    // Perform only after claiming the node, or claim in the same tx.
    function setupAmbi2(Ambi2 _ambi2) public returns(bool) {
        if (address(ambi2) != 0x0) {
            return false;
        }

        ambi2 = _ambi2;
        return true;
    }
}
function setupAmbi2(Ambi2 _ambi2) public returns(bool) {
    if (address(ambi2) != 0x0) {
        return false;
    }

    ambi2 = _ambi2;
    return true;
}

// Perform only after claiming the node, or claim in the same tx.