class NegotiationController {

  constructor() {
    const $ = document.querySelector.bind(document);

    // avoid traversing the DOM many times
    this._amount = $('#amount')
    this._date = $('#date')
    this._value = $('#value')
  }

  add(event) {
    event.preventDefault();

    const negotiation = new Negotiation(
      DateHelper.stringToDate(this._date.value),
      this._amount.value,
      this._value.value
    );

    console.log(negotiation);
  }
}

class NegotiationController {

  constructor() {
    const $ = document.querySelector.bind(document);

    // avoid traversing the DOM many times
    this._amount = $('#amount')
    this._date = $('#date')
    this._value = $('#value')
    this._negotiationsList = new NegotiationList();
  }

  add(event) {
    event.preventDefault();

    const negotiation = new Negotiation(
      DateHelper.stringToDate(this._date.value),
      this._amount.value,
      this._value.value
    );

    this._negotiationsList.add(negotiation);
  }
}

Update negotiationController, using the NegotiationList
Update negotiationController, using the NegotiationList
