#2 Added type/thread-safe notification system