use a NonBlockingHashMultimap for version change listeners in the Engine