finished interrupt alteration. Now uses 'direction' instead of ambigious 'into' and can return from the wait function per callback, not just after one/keyboard interrupt