extracted method
changed aggregate repository with snapshot to be a derived class of normal repository
added a project for an sql append only store and made serialization to json so that events are not required to be serializable any longer :)