Moved logic to doctrine events. Much much better