#6 added injection of a generator in repo factory and then in repositiry to generate the uuid when entity persisted for the first time in the repo
#6 implemented the persist and remove methods of the repository