- scripts/lib/env.sh: modelo OOP. Env (aggregate root) compone las entidades SystemdUnit, NginxVhost y TlsCert, más servicios estáticos (Slug, Host, Port, Artifacts, Deps, Logger). Instancias = arrays asociativos globales accedidos vía nameref (local -n); la composición vive en Env::new. - deploy.sh / teardown.sh: pasan a ser entrypoints finos (~33 líneas) que sourcean lib/env.sh. Comparten una única fuente de verdad para "qué es un entorno", eliminando la duplicación de slugify y el regex de vhost. - Comportamiento idéntico al procedural: heredocs de systemd/nginx son byte-idénticos; orquestación de deploy y teardown verificados end-to-end. Requiere bash >= 4.3 (namerefs), ya cubierto en el host runner.