Ability to AddWidgets dynamically (via to-be-added queue).

Simplified AddBehavior() to take pointer instead of shared_ptr.