Kotlin uses companion objects instead of static fields in Java. In Java, there are cases where some member fields have a close relation with some static fields so you group them together. For example, it may be possible that it is natural order in logic to first understand some static fields that lead to some member fields, then those member field, then some other static fields that give additional information. Since in Kotlin, you have to put all companion fields in a companion object and it can’t be split, it becomes impossible to do so.
Is supporting splitting a companion object’s code into several places a solution? Or are there better approaches?