public interface Strategy {
  
  /**
   * Add toPhone to this conversation, unless it's already part of this conversation
   * or fromPhone is a phone that is not part of this conversation.
   * @param fromPhone  a phone, null if none
   * @param toPhone  a phone to potentially add to this conversation
   */
  void makeCall(Phone fromPhone, Phone toPhone);
  
  /**
   * Hang up the phone.
   * @param phone  the phone to hang up
   */
  void hangUp(Phone phone);
  
  /**
   * Return a string representation of this conversation.
   * @return  the phone numbers of phones in this conversation,
   *           starting from the most recently added phone,
   *           one per line with each line ending in "\n"
   */
  String toString();
}

