fix for ConcurrentModificationException in EventManager: now copy of observers set is created

Two problems fixed:
1. Concurrent modification of observers set in case if this set is changed due to change in onEvent() method
2. Synchronization block reduced - now only copy of set is synchronized, onEvent() calls are not synchronized