karelpeeters
interface Repo { ... companion object { var repo: Repo? get() = field ?: RepoImpl().also { field = it } private set fun destroy() { repo = null } } }