# Event Listeners (Subscribers)
Where this is possible Codeception uses the Observer pattern to separate different parts of framework and make them act independently.
Events are defined in `Codeception\Event`). New features can be added seamlessly when they are created in Subscribers.