title: Flex Warning: Unable to bind to property 'foo' on class 'Object' (class is not an IEventDispatcher)
body: <p>I've got an object that contains a dozen or so fields I want to bind to form elements, so that I can use that object to send the data back to the server to be saved.</p>
  
  <p>Definition of my container object:</p>
  
  <pre><code>private static const emptyLink:Object = {
      id: -1, title:'',
      trigger1:'',trigger2:'',trigger3:'',trigger4:'',trigger5:'',
      linkTitle:'', linkBody:'',
      answer1:'',answer2:'',answer3:'',answer4:'',answer5:''
  };
  
  [Bindable] public var currentLink:Object = emptyLink;
  </code></pre>
  
  <p><code>currentLink</code> is assigned at runtime to a specific index from an ArrayCollection, I'm just using the <code>emptyLink</code> object for initialization purposes, mostly.</p>
  
  <pre><code>&lt;mx:Panel id="triggerPanel" title="Trigger" width="33%"&gt;
      &lt;mx:VBox id="tpBoxes" width="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5"&gt;
          &lt;mx:TextInput id="trigger1" width="100%" textAlign="left" text="{currentLink.trigger1}" /&gt;
          &lt;mx:TextInput id="trigger2" width="100%" textAlign="left" text="{currentLink.trigger2}" /&gt;
          &lt;mx:TextInput id="trigger3" width="100%" textAlign="left" text="{currentLink.trigger3}" /&gt;
          &lt;mx:TextInput id="trigger4" width="100%" textAlign="left" text="{currentLink.trigger4}" /&gt;
          &lt;mx:TextInput id="trigger5" width="100%" textAlign="left" text="{currentLink.trigger5}" /&gt;
      &lt;/mx:VBox&gt;
  &lt;/mx:Panel&gt;
  </code></pre>
  
  <p>Of course, this compiles and displays just fine, but there are runtime warnings for each instance:</p>
  
  <blockquote>
    <p>warning: unable to bind to property 'trigger1' on class 'Object' (class is not an IEventDispatcher)
    warning: unable to bind to property 'trigger2' on class 'Object' (class is not an IEventDispatcher)
    warning: unable to bind to property 'trigger3' on class 'Object' (class is not an IEventDispatcher)
    warning: unable to bind to property 'trigger4' on class 'Object' (class is not an IEventDispatcher)
    warning: unable to bind to property 'trigger5' on class 'Object' (class is not an IEventDispatcher)</p>
  </blockquote>
  
  <p>And the <code>currentLink</code> object is not updated when the <code>TextInput</code> fields are changed.</p>
  
  <p>The obvious answer is that my object needs to be an instance of a class that implements <code>IEventDispatcher</code>. What that answer doesn't tell me is the particulars of implementing that interface (what's required? what's not?), and if there is a simpler way to do this -- like a built in class that will gladly accept my custom properties and allow for binding, without me having to worry about the particulars of implementing the interface.</p>
  
  <p>Does such a class exist? If not, what's the bare minimum and/or accepted standard for accomplishing this task?</p>