Yeah, I assume this code would look a little simpler using the `app` system. But if the idea is to show that the `gloo` module/functionality is separable from e.g. `vispy.app`, then the current implementation makes sense.