this stuff is just metadata no need to type it
geteventstore gets its own dispatcher
formatting fix
underlying pm shouldn't care about checkpoint type
cleanup
full observable? you never go full observable

test support is not compiling yet

also need to figure out how to 'clear' undispatched commands when we hit a
CheckpointReached. would require notion of 'caught up' which is not part of NES
atm.
i think i've absracted away the storage mechanism
race conditions everywhere
Merge branch 'sanity-check'