Changed event queue implementation from LinkedList to ArrayBlockingQueue
The event queue needed to be synchronized and the LinkedList couldn't be used
as a queue while also being synchronized.