Component Lifecycle
To make development easier, and remove boilerplate, a lifecycle is provided, so that all views and screens can override a few methods to get accurate access to their perceived state on screen. the lifecycle methods are invoked as follows:
initialize- invoked once, when_initializeViewis called for the view, or the view is created by a TabController, or added to a NavControlleronFirstShow- invoked once, when the view first becomes visibleonShow- can be invoked multiple timesonHide- can be invoked multiple timesonGainedFocus- called whenever the view or one of it's children gains focusonLostFocus- called whenever the view loses focusonAddedToAggregateView(aggregateView)- this view was added to an aggregate viewonRemovedFromAggregateView(aggregateView)- this view was removed to an aggregate view