make Listeners threadsafe