Added EventManager with `get_visible` method. Refactored factories and tests.