def step(self, amt=<NUM_LIT:1>):
if not self._stop_event.isSet():<EOL><INDENT>self._hold_for_data.wait()<EOL>self._hold_for_data.clear()<EOL><DEDENT>
This may seem silly, but on a Receiver step() need not do anything.
Instead, receive the data on the receive thread and set it on the buffer
then call self._hold_for_data.set()