UI Controls

This is an update to the design of the binding mechanisms that is intended to make data binding to UI controls easier. The old object binding methods are still around, these are just useful additions.