export type Entity = { name: string; state: T; }; export type Process = (instance: T, delta: number) => void; export const entityMap = new Map(); export const entityProcessMap = new Map(); export function defineEntity( name: string, state: T, ): (fn: Process) => void { entityMap.set(name, state); return (fn) => { entityProcessMap.set(name, fn); }; }