> Maybe there needs to be a simpler helper that runs through the whole initialization life cycle (including `visible`)?

Yes. Sounds reasonable and useful.

Another thing to consider is that the lifecycle is a state machine. Perhaps this class should mirror that state machine more closely by playing any missing steps automatically. This way, calling something like `destroy()` would automatically hit `onPause`, `onStop`, and then `onDestroy`.