Add ping-pong test
wip
efficient & correct!
cleanup
proper locking
Restriction types
Direct callbacks
untested typescript implementation
some cleanup to fs impl