docblock
docblock
hardened Contract::canonicalFrom
docblock
refactored test: moved common fixtures to setup
Committing twice should be idempotent
@todo share commitId across aggregates
renamed openStream -> openOrCreateStream