title: Saving the getEntityChangeSet() result in Doctrine EventListener
body: <p>I need to create changelog in the API for user actions on entities.</p>
  
  <p>For example: </p>
  
  <p>User updates entity Licensor I need to catch the changes and save them in the database in different table.</p>
  
  <p>The first part I was able to do with Doctrine Event Listener</p>
  
  <pre><code>class ChangelogEventListener
  {
     public function preUpdate($obj, PreUpdateEventArgs $eventArgs)
     {
         if ($obj instanceof LoggableInterface) {
              dump($eventArgs-&gt;getEntityChangeSet());
         }
     }
  }
  </code></pre>
  
  <p>And with marking entity event listeners</p>
  
  <pre><code>/**
   * @ORM\EntityListeners(value={"AppBundle\EventSubscriber\Changelogger\ChangelogEventListener"})
   */
  class Licensor implements LoggableInterface
  </code></pre>
  
  <p>But I'm not sure if it's even possible and if it makes sense to access the ORM entity manager in a <code>preUpdate</code> event.</p>
  
  <p>If it isn't then what's the proper way to do it? </p>
  
  <p>I've tried with Symfony's EventListener instead of Doctrine's but then I don't have access to <code>getEntityChangeSet(</code>).  </p>