Refactored clas Negotiate to IStrategy for clarity