Added ChallengeNotificationTDG, Finder and Factory

Updated the NotificationTypes so that they don't recopy the enum values array every call. Instead they keep a static reference to it