diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index 6c8be39..aacfda0 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -149,10 +149,8 @@
 
         nodes.emplace_back(
             std::make_unique<MessageRegistryFileCollection>(app));
-        nodes.emplace_back(std::make_unique<BaseMessageRegistryFile>(app));
-        nodes.emplace_back(std::make_unique<BaseMessageRegistry>(app));
-        nodes.emplace_back(std::make_unique<OpenBMCMessageRegistryFile>(app));
-        nodes.emplace_back(std::make_unique<OpenBMCMessageRegistry>(app));
+        nodes.emplace_back(std::make_unique<MessageRegistryFile>(app));
+        nodes.emplace_back(std::make_unique<MessageRegistry>(app));
         nodes.emplace_back(std::make_unique<CertificateService>(app));
         nodes.emplace_back(
             std::make_unique<CertificateActionsReplaceCertificate>(app));
diff --git a/redfish-core/include/registries/base_message_registry.hpp b/redfish-core/include/registries/base_message_registry.hpp
index f9009f1..6290198 100644
--- a/redfish-core/include/registries/base_message_registry.hpp
+++ b/redfish-core/include/registries/base_message_registry.hpp
@@ -1,5 +1,5 @@
 /*
-// Copyright (c) 2019 Intel Corporation
+// Copyright (c) 2020 Intel Corporation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -33,6 +33,9 @@
     "1.4.0",
     "DMTF",
 };
+constexpr const char* url =
+    "https://redfish.dmtf.org/registries/Base.1.4.0.json";
+
 constexpr std::array<MessageEntry, 58> registry = {
     MessageEntry{
         "AccessDenied",
diff --git a/redfish-core/include/registries/task_event_message_registry.hpp b/redfish-core/include/registries/task_event_message_registry.hpp
new file mode 100644
index 0000000..a2e3a89
--- /dev/null
+++ b/redfish-core/include/registries/task_event_message_registry.hpp
@@ -0,0 +1,143 @@
+/*
+// Copyright (c) 2020 Intel Corporation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+*/
+/****************************************************************
+ * This is an auto-generated header which contains definitions
+ * for Redfish DMTF defined messages.
+ ***************************************************************/
+#pragma once
+#include <registries.hpp>
+
+namespace redfish::message_registries::task_event
+{
+const Header header = {
+    "Copyright 2014-2018 DMTF in cooperation with the Storage Networking "
+    "Industry Association (SNIA). All rights reserved.",
+    "#MessageRegistry.v1_2_0.MessageRegistry",
+    "TaskEvent.1.0.1",
+    "Task Event Message Registry",
+    "en",
+    "This registry defines the messages for task related events.",
+    "TaskEvent",
+    "1.0.1",
+    "DMTF",
+};
+constexpr const char* url =
+    "https://redfish.dmtf.org/registries/TaskEvent.1.0.1.json";
+
+constexpr std::array<MessageEntry, 9> registry = {
+    MessageEntry{"TaskAborted",
+                 {
+                     "The task with id %1 has been aborted.",
+                     "The task with id %1 has been aborted.",
+                     "Critical",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+    MessageEntry{"TaskCancelled",
+                 {
+                     "The task with id %1 has been cancelled.",
+                     "The task with id %1 has been cancelled.",
+                     "Warning",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+    MessageEntry{"TaskCompletedOK",
+                 {
+                     "The task with id %1 has completed.",
+                     "The task with id %1 has completed.",
+                     "OK",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+    MessageEntry{"TaskCompletedWarning",
+                 {
+                     "The task with id %1 has completed with warnings.",
+                     "The task with id %1 has completed with warnings.",
+                     "Warning",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+    MessageEntry{"TaskPaused",
+                 {
+                     "The task with id %1 has been paused.",
+                     "The task with id %1 has been paused.",
+                     "Warning",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+    MessageEntry{
+        "TaskProgressChanged",
+        {
+            "The task with id %1 has changed to progress %2 percent complete.",
+            "The task with id %1 has changed to progress %2 percent complete.",
+            "OK",
+            2,
+            {
+                "string",
+                "number",
+            },
+            "None.",
+        }},
+    MessageEntry{"TaskRemoved",
+                 {
+                     "The task with id %1 has been removed.",
+                     "The task with id %1 has been removed.",
+                     "Warning",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+    MessageEntry{"TaskResumed",
+                 {
+                     "The task with id %1 has been resumed.",
+                     "The task with id %1 has been resumed.",
+                     "OK",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+    MessageEntry{"TaskStarted",
+                 {
+                     "The task with id %1 has started.",
+                     "The task with id %1 has started.",
+                     "OK",
+                     1,
+                     {
+                         "string",
+                     },
+                     "None.",
+                 }},
+};
+} // namespace redfish::message_registries::task_event
