I'm trying to declare my android sqlite migrations in object declarations. Each extends the interface Migration, and I want to have each one register themselves upon initialization with the Migrator object, which being an object, is also a singleton. Unfortunately (I'm realizing this late) kotlin objects are lazily initialized, so my migrations have to be used somewhere to register themselves.
I can accept having to use reflections or annotations, but have no bearing for if that's a good idea or how to follow convention going that direction.