add runner events

This is working towards #3 - adds runner events (which will be generally useful apart from the runner)