IVGCVSW-2067 : dynamically create workload factories based on the backends in the network

Change-Id: Ide594db8c79ff67642721d8bad47624b88621fbd
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp
index 1bab96b..d6a3a89 100644
--- a/src/backends/cl/ClBackend.cpp
+++ b/src/backends/cl/ClBackend.cpp
@@ -23,7 +23,7 @@
     ClBackend::GetIdStatic(),
     []()
     {
-        return IBackendUniquePtr(new ClBackend, &ClBackend::Destroy);
+        return IBackendInternalUniquePtr(new ClBackend);
     }
 };
 
@@ -35,14 +35,9 @@
     return s_Id;
 }
 
-std::unique_ptr<IWorkloadFactory> ClBackend::CreateWorkloadFactory() const
+IBackendInternal::IWorkloadFactoryPtr ClBackend::CreateWorkloadFactory() const
 {
     return std::make_unique<ClWorkloadFactory>();
 }
 
-void ClBackend::Destroy(IBackend* backend)
-{
-    delete boost::polymorphic_downcast<ClBackend*>(backend);
-}
-
 } // namespace armnn
\ No newline at end of file