two events are differentiated, pulses and pauses, a parser function converts the (eventID, timeStep) sequency to a generator with gpio calls. itertools.chain is used to link the event streams of the various components in an experimental protocol