T004 authentificate user with db storage

Repository is just collection or source of objects - it must not has logic, connected with marking of entity for delete or persist, and flushing, because I'd like to flush all my changes at the end of workflow, for example.

Usually repository used for some bulk selects/updates/deletes/inserts and directly using `dbal`. In this case, I think, you should move logic of deleting and saving entity to service