Renamed Semaphore to EventQueue to reflect the more complex functionality and role it has taken on.