contract Ambi2EnabledFull is Ambi2Enabled {
    // Setup and claim atomically.
    function setupAmbi2(Ambi2 _ambi2) public returns(bool) {
        if (address(ambi2) != 0x0) {
            return false;
        }
        if (!_ambi2.claimFor(this, msg.sender) && !_ambi2.isOwner(this, msg.sender)) {
            return false;
        }

        ambi2 = _ambi2;
        return true;
    }
}
function setupAmbi2(Ambi2 _ambi2) public returns(bool) {
    if (address(ambi2) != 0x0) {
        return false;
    }
    if (!_ambi2.claimFor(this, msg.sender) && !_ambi2.isOwner(this, msg.sender)) {
        return false;
    }

    ambi2 = _ambi2;
    return true;
}

// Setup and claim atomically.