refactoring+testing
refactoring+tidy
separation of command registry
klass/factory hybrid over factory allowing inheritance
journal.replay() returns event emitter

- also some samples
- also some refactorings