Companion object vs top-level members: when would you use each? | LetsGit.IT