export class ServiceContainer { private services: Map = new Map(); public register(name: string, service: T) { if (typeof service === 'function') { service = service(); } this.services.set(name, service); } public get(name: string): T { return this.services.get(name); } }