diff --git a/NzbDrone.Api/Commands/CommandModule.cs b/NzbDrone.Api/Commands/CommandModule.cs
index 1c0b9a818..231089734 100644
--- a/NzbDrone.Api/Commands/CommandModule.cs
+++ b/NzbDrone.Api/Commands/CommandModule.cs
@@ -8,7 +8,8 @@ using NzbDrone.Common.Composition;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Messaging;
using NzbDrone.Core.Messaging.Commands;
-using NzbDrone.Core.Messaging.Tracking;
+using NzbDrone.Core.Messaging.Commands.Tracking;
+using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.ProgressMessaging;
diff --git a/NzbDrone.Api/NzbDroneRestModuleWithSignalR.cs b/NzbDrone.Api/NzbDroneRestModuleWithSignalR.cs
index 3d824790f..d8350b8ae 100644
--- a/NzbDrone.Api/NzbDroneRestModuleWithSignalR.cs
+++ b/NzbDrone.Api/NzbDroneRestModuleWithSignalR.cs
@@ -2,6 +2,8 @@
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Commands;
+using NzbDrone.Core.Messaging.Events;
using NzbDrone.SignalR;
namespace NzbDrone.Api
diff --git a/NzbDrone.Common.Test/MessagingTests/CommandExecutorFixture.cs b/NzbDrone.Common.Test/MessagingTests/CommandExecutorFixture.cs
index a3f6c3931..21396dc8e 100644
--- a/NzbDrone.Common.Test/MessagingTests/CommandExecutorFixture.cs
+++ b/NzbDrone.Common.Test/MessagingTests/CommandExecutorFixture.cs
@@ -4,7 +4,7 @@ using Moq;
using NUnit.Framework;
using NzbDrone.Core.Messaging;
using NzbDrone.Core.Messaging.Commands;
-using NzbDrone.Core.Messaging.Tracking;
+using NzbDrone.Core.Messaging.Commands.Tracking;
using NzbDrone.Test.Common;
namespace NzbDrone.Common.Test.MessagingTests
diff --git a/NzbDrone.Core/Jobs/Scheduler.cs b/NzbDrone.Core/Jobs/Scheduler.cs
index 770116c1f..2b8b42086 100644
--- a/NzbDrone.Core/Jobs/Scheduler.cs
+++ b/NzbDrone.Core/Jobs/Scheduler.cs
@@ -4,6 +4,8 @@ using System.Threading.Tasks;
using NLog;
using NzbDrone.Core.Lifecycle;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Commands;
+using NzbDrone.Core.Messaging.Events;
using Timer = System.Timers.Timer;
using NzbDrone.Common.TPL;
diff --git a/NzbDrone.Core/Jobs/TaskManager.cs b/NzbDrone.Core/Jobs/TaskManager.cs
index 41251979a..9d1a316c5 100644
--- a/NzbDrone.Core/Jobs/TaskManager.cs
+++ b/NzbDrone.Core/Jobs/TaskManager.cs
@@ -10,8 +10,8 @@ using NzbDrone.Core.Instrumentation.Commands;
using NzbDrone.Core.Lifecycle;
using NzbDrone.Core.MediaFiles.Commands;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Commands.Tracking;
using NzbDrone.Core.Messaging.Events;
-using NzbDrone.Core.Messaging.Tracking;
using NzbDrone.Core.Providers;
using NzbDrone.Core.Tv.Commands;
using NzbDrone.Core.Update.Commands;
diff --git a/NzbDrone.Core/MediaFiles/DiskScanService.cs b/NzbDrone.Core/MediaFiles/DiskScanService.cs
index 1467463e8..16b64789f 100644
--- a/NzbDrone.Core/MediaFiles/DiskScanService.cs
+++ b/NzbDrone.Core/MediaFiles/DiskScanService.cs
@@ -6,6 +6,8 @@ using NzbDrone.Core.Instrumentation;
using NzbDrone.Core.MediaFiles.Commands;
using NzbDrone.Core.MediaFiles.EpisodeImport;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Commands;
+using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Tv.Events;
diff --git a/NzbDrone.Core/MediaFiles/RecycleBinProvider.cs b/NzbDrone.Core/MediaFiles/RecycleBinProvider.cs
index 0888d0ef5..00ff120e2 100644
--- a/NzbDrone.Core/MediaFiles/RecycleBinProvider.cs
+++ b/NzbDrone.Core/MediaFiles/RecycleBinProvider.cs
@@ -7,6 +7,8 @@ using NzbDrone.Common.Instrumentation;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.MediaFiles.Commands;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Commands;
+using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Tv.Events;
namespace NzbDrone.Core.MediaFiles
diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj
index 568419be9..81f072eb4 100644
--- a/NzbDrone.Core/NzbDrone.Core.csproj
+++ b/NzbDrone.Core/NzbDrone.Core.csproj
@@ -233,7 +233,16 @@
-
+
+
+
+
+
+
+
+
+
+
@@ -245,16 +254,7 @@
-
-
-
-
-
-
-
-
-
diff --git a/NzbDrone.Core/Tv/EpisodeRepository.cs b/NzbDrone.Core/Tv/EpisodeRepository.cs
index 3962b5f89..cd12016ed 100644
--- a/NzbDrone.Core/Tv/EpisodeRepository.cs
+++ b/NzbDrone.Core/Tv/EpisodeRepository.cs
@@ -4,6 +4,7 @@ using System.Linq;
using Marr.Data.QGen;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Events;
namespace NzbDrone.Core.Tv
diff --git a/NzbDrone.Core/Tv/RefreshSeriesService.cs b/NzbDrone.Core/Tv/RefreshSeriesService.cs
index 1805bd363..d6607dda5 100644
--- a/NzbDrone.Core/Tv/RefreshSeriesService.cs
+++ b/NzbDrone.Core/Tv/RefreshSeriesService.cs
@@ -6,6 +6,8 @@ using NLog;
using NzbDrone.Core.DataAugmentation.DailySeries;
using NzbDrone.Core.Instrumentation;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Commands;
+using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.MetadataSource;
using NzbDrone.Core.Tv.Commands;
using NzbDrone.Core.Tv.Events;
diff --git a/NzbDrone.Test.Common/TestBase.cs b/NzbDrone.Test.Common/TestBase.cs
index 976bfc454..82e73ab4d 100644
--- a/NzbDrone.Test.Common/TestBase.cs
+++ b/NzbDrone.Test.Common/TestBase.cs
@@ -10,6 +10,7 @@ using NzbDrone.Common.Cache;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Messaging;
using NzbDrone.Core.Messaging;
+using NzbDrone.Core.Messaging.Events;
using NzbDrone.Test.Common.AutoMoq;
namespace NzbDrone.Test.Common