Thread safe TimerManager creation

Use a ConcurrentHashMap to store TimerManager instances to ensure that creation and retrieval are thread safe