Fail: repository passes the aggregate version to the storage
Pass
Refactor: use generic arguments (new spec will be added for first version)
Fail: -1 indicates the first version of an aggregate
Pass
Todo task done. New ones added.
Refactor: extract commands handler to its own file
Fail: version should be incremented with each event stored
Pass
Fail: interface inconsistence between specs and implementation
Pass
Fail: creating an aggregate from events replays the events
Pass
Fail: InventoryItems can be created with an empty constructor
Pass
Remove print statements
Little example to show the events and repository working