Singleton
La clase Singleton está diseñada para gestionar instancias únicas (singleton), donde cada instancia está identificada de forma única por una clave. Proporciona mecanismos para crear y recuperar instancias singleton y garantiza que cada clave solo pueda tener una instancia correspondiente.
create(key: string, createFn: CreateFunction): any
Este método se usa para crear una nueva instancia singleton o recuperar una existente asociada a una clave única.
Parámetros:
key: El identificador único de la instancia singleton.createFn: Una función que crea y devuelve una nueva instancia.
Retorna:
- La instancia singleton correspondiente a la clave proporcionada.
 
Ejemplo:
    Singleton.shared.create('player', () => new Player());
static get shared(): Singleton
Garantiza que solo se use una única instancia de Singleton de forma global, siguiendo el patrón singleton.
Ejemplo:
    const player = Singleton.shared['player'];
    console.log(player);