reworked PostObjectEvent to use RwLock instead of Mutex (mutexes prevent multiple threads from running through reading only sections)