move counter and last post updates to doctrine listeners