Rather than all functionality being built directly into this class, only the minimal set of
lower level building blocks are included. Higher level components can then be used as needed
without enforcing a deep Activity class hierarchy or strong coupling between components.

Lazily initialize your LifecycleRegistry object when this is first called.
Note that this method will be called in the super classes' constructor, before any
field initialization or object state creation is complete.