Implementación del patrón