implemented basic event recording / playback