If you want negotiation behavior, I think a separated method makes more sense.