Wrapped up design of a system to update UI when data changes.