title: How to make UI elements around an app keep track of their own states
body: <p>I have a network client iOS app.  There is a "controller" object that is responsible for receiving updates from the network.  It should store / forward them to the various visible pages in the app.  One page may need some of the data, one page may need some other part.  There is overlap.</p>
  
  <p>For example, a button needs to be highlighted or not based on the status of a device on the network.  Buttons on different pages may need to reflect this status.</p>
  
  <p>I need to determine if my various view controllers need to handle this or if the UI elements themselves can do it.  In my example, I will need the UI button to react to events, probably based on it's "tag" field.</p>
  
  <p>I've thought about implementing a category to "wrap" the various UI elements, but I'd like to use storyboard layout.  This seems convoluted.  Or, I can set tags on the UI elements and have the enclosing view controller gather all these up into a dictionary of UI elements and do the watching/updating using tags as keys.  Or...?</p>
  
  <p>I guess I'd like some pointers on what model may be best.  I need this to be flexible and adaptable moving forward, so I'd can't have a bunch of code and IBOutlets for each UI item.  I'm trying to keep everything as generic as possible so that when I need to make changes, I can add UI elements, set their tags, and let their enclosing view controllers take care of them.</p>
  
  <p>Thanks</p>