event_mapper: ripped out events into separate script & object container