** Returns a map of all services defined by this IoC.** ** @since 1.2.0constmixin ServiceStats {** Returns service stats, keyed by service idabstract Str:ServiceStat stats()}** Defines some statistics for a service** ** @since 1.2.0constclass ServiceStat {const Str serviceIdconst Type typeconst ServiceScope scopeconst Bool proxyDisabledconst ServiceLifecycle lifecycleconst Int noOfImplsinternalnew make(|This|? f){ f?.call(this)}internal This withLifecyle(ServiceLifecycle newLifecycle){ ServiceStat {it.serviceId = this.serviceIdit.type = this.typeit.scope = this.scopeit.proxyDisabled= this.proxyDisabledit.lifecycle = newLifecycleit.noOfImpls = this.noOfImpls}}internal This withIncImpls(){ ServiceStat {it.serviceId = this.serviceIdit.type = this.typeit.scope = this.scopeit.proxyDisabled= this.proxyDisabledit.lifecycle = this.lifecycleit.noOfImpls = this.noOfImpls + 1}}}** Defines the lifecycle state of a service** ** @since 1.2.0enum class ServiceLifecycle {** The service is defined in a module, but has not yet been referenced. DEFINED,** A proxy has been created for the service, but the implementation itself no methods of the proxy have been invoked. VIRTUAL,** A service implementation for the service has been created. It is real! CREATED,// leave this last for compare** Builtin services exist before the `Registry` is constructed. BUILTIN;}