Gestor de contenido (construido desde cero)