move to abstract command handlers [spike]
reset is always done explicitely
improve command: add monoid combiner
add associativity test, refactor
refactor tests
fix exports
fix hlint warnings