code: function shouldAddListener(binding) {
    return Boolean(binding.target) &&
           binding.kind != 'attribute' &&
           binding.kind != 'text' &&
           !binding.isCompound &&
           binding.parts[0].mode === '{';
  }
docs: Returns true if a binding's metadata meets all the requirements to allow
  2-way binding, and therefore a `<property>-changed` event listener should be
  added:
  - used curly braces
  - is a property (not attribute) binding
  - is not a textContent binding
  - is not compound
  
  @param {!Binding} binding Binding metadata
  @return {boolean} True if 2-way listener should be added
  @private