Color is now added to a collection in it's setup method
Avoid unnecessary rendering and unrendering when the only change to a tree of blocks is its contents. So, in this case we now send onContentsChanged instead of unrendering calling onContentsChanged and rerendering. This introduces various problems, most of which have been fixed, except for the detail view which Bryan is still working on.
Added methods to block to avoid unnecessary notifications that are a side effect of updating the screen. Not only does this get rid of extra unnecessary screen updates, it also gets rid of double clicking bugs in the Table block.
Move most of the wxSynchronizeWidge calls on the widget to synchronizeWidget on the block, where they avoid failing when the widget doesn't exist and also avoids unexpected recursive calls.