Renew entities because:
Improve m2m collection setters and getters.
Add persistence to the mapped entities.
Add logging and cleanup code.
Added simple unit test.