diff --git a/controller/nucleus/memoryPluginStore.go b/controller/nucleus/memoryPluginStore.go
index 3e74f2c2d00b4594ac5e4df6ff180c75b8d5e817..3ad32541b658fb35cfc3de8fab03667a8e91a86a 100644
--- a/controller/nucleus/memoryPluginStore.go
+++ b/controller/nucleus/memoryPluginStore.go
@@ -14,7 +14,7 @@ type MemoryPluginStore struct {
 	nameLookupTable map[string]string
 }
 
-// NewMemoryPluginStore returns a specific in-memory store for a type T.
+// NewMemoryPluginStore returns a specific in-memory store for plugins.
 func NewMemoryPluginStore() plugin.Store {
 	return &MemoryPluginStore{
 		Store:           make(map[string]plugin.LoadedPlugin),
diff --git a/controller/nucleus/networkElementFilesystemStore_test.go b/controller/nucleus/networkElementFilesystemStore_test.go
index f3bab417480c93d49aabae3eb04a43fc0faa6b85..680e02e64f3acd5644cc9b100d99724a79ed6786 100644
--- a/controller/nucleus/networkElementFilesystemStore_test.go
+++ b/controller/nucleus/networkElementFilesystemStore_test.go
@@ -3,10 +3,10 @@ package nucleus
 import (
 	"testing"
 
-	spb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound"
 	tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport"
 	"code.fbi.h-da.de/danet/gosdn/controller/conflict"
 	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/networkelement"
+	"code.fbi.h-da.de/danet/gosdn/controller/mocks"
 	"code.fbi.h-da.de/danet/gosdn/controller/store"
 	"github.com/google/uuid"
 )
@@ -32,13 +32,15 @@ func TestAddNetworkElement(t *testing.T) {
 
 	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	mneID, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
-	sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
+	pluginID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
 	trop := returnBasicTransportOption()
 
-	sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
+	plugin1 := &mocks.Plugin{}
+	plugin1.On("ID").Return(pluginID1)
+	plugin1.On("Model").Return([]byte{}, nil)
 
 	networkElementStore := NewNetworkElementStore(pndID)
-	mne, _ := NewNetworkElement("testNetworkElement", mneID, &trop, sbi1, conflict.Metadata{})
+	mne, _ := NewNetworkElement("testNetworkElement", mneID, &trop, plugin1, conflict.Metadata{})
 
 	err := networkElementStore.Add(mne)
 	if err != nil {
@@ -52,20 +54,22 @@ func TestGetAllNetworkElements(t *testing.T) {
 	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	networkElementStore := NewNetworkElementStore(pndID)
 
-	sbiID, _ := uuid.Parse("ssssssss-ssss-ssss-ssss-ssssssssssss")
-	sbi, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID)
+	pluginID, _ := uuid.Parse("ssssssss-ssss-ssss-ssss-ssssssssssss")
+	plugin := &mocks.Plugin{}
+	plugin.On("ID").Return(pluginID)
+	plugin.On("Model").Return([]byte{}, nil)
 
 	mneID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
 	mneID2, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaab")
 
 	transportOptions := returnBasicTransportOption()
 
-	mne1, err := NewNetworkElement("testname", mneID1, &transportOptions, sbi, conflict.Metadata{})
+	mne1, err := NewNetworkElement("testname", mneID1, &transportOptions, plugin, conflict.Metadata{})
 	if err != nil {
 		t.Error(err)
 	}
 
-	mne2, err := NewNetworkElement("testname2", mneID2, &transportOptions, sbi, conflict.Metadata{})
+	mne2, err := NewNetworkElement("testname2", mneID2, &transportOptions, plugin, conflict.Metadata{})
 	if err != nil {
 		t.Error(err)
 	}
@@ -105,20 +109,22 @@ func TestGetNetworkElement(t *testing.T) {
 	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	networkElementStore := NewNetworkElementStore(pndID)
 
-	sbiID, _ := uuid.Parse("ssssssss-ssss-ssss-ssss-ssssssssssss")
-	sbi, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID)
+	pluginID, _ := uuid.Parse("ssssssss-ssss-ssss-ssss-ssssssssssss")
+	plugin := &mocks.Plugin{}
+	plugin.On("ID").Return(pluginID)
+	plugin.On("Model").Return([]byte{}, nil)
 
 	mneID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
 	mneID2, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaab")
 
 	trop := returnBasicTransportOption()
 
-	mne1, err := NewNetworkElement("testname", mneID1, &trop, sbi, conflict.Metadata{})
+	mne1, err := NewNetworkElement("testname", mneID1, &trop, plugin, conflict.Metadata{})
 	if err != nil {
 		t.Error(err)
 	}
 
-	mne2, err := NewNetworkElement("testname2", mneID2, &trop, sbi, conflict.Metadata{})
+	mne2, err := NewNetworkElement("testname2", mneID2, &trop, plugin, conflict.Metadata{})
 	if err != nil {
 		t.Error(err)
 	}
@@ -150,23 +156,25 @@ func TestUpdateNetworkElement(t *testing.T) {
 
 	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	mneID, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
-	sbiID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
+	pluginID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
 
 	trop := returnBasicTransportOption()
 
 	updatedNetworkElementName := "testNetworkElement2"
 
-	sbi1, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID1)
+	plugin1 := &mocks.Plugin{}
+	plugin1.On("ID").Return(pluginID1)
+	plugin1.On("Model").Return([]byte{}, nil)
 
 	networkElementStore := NewNetworkElementStore(pndID)
-	mne, _ := NewNetworkElement("testNetworkElement", mneID, &trop, sbi1, conflict.Metadata{})
+	mne, _ := NewNetworkElement("testNetworkElement", mneID, &trop, plugin1, conflict.Metadata{})
 
 	err := networkElementStore.Add(mne)
 	if err != nil {
 		t.Error(err)
 	}
 
-	mne, _ = NewNetworkElement(updatedNetworkElementName, mneID, &trop, sbi1, conflict.Metadata{})
+	mne, _ = NewNetworkElement(updatedNetworkElementName, mneID, &trop, plugin1, conflict.Metadata{})
 
 	err = networkElementStore.Update(mne)
 	if err != nil {
@@ -192,20 +200,22 @@ func TestDeleteNetworkElement(t *testing.T) {
 	pndID, _ := uuid.Parse("b4016412-eec5-45a1-aa29-f59915357bad")
 	networkElementStore := NewNetworkElementStore(pndID)
 
-	sbiID, _ := uuid.Parse("ssssssss-ssss-ssss-ssss-ssssssssssss")
-	sbi, _ := NewSBI(spb.Type_TYPE_OPENCONFIG, sbiID)
+	pluginID, _ := uuid.Parse("ssssssss-ssss-ssss-ssss-ssssssssssss")
+	plugin := &mocks.Plugin{}
+	plugin.On("ID").Return(pluginID)
+	plugin.On("Model").Return([]byte{}, nil)
 
 	mneID1, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa")
 	mneID2, _ := uuid.Parse("aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaab")
 
 	trop := returnBasicTransportOption()
 
-	mne1, err := NewNetworkElement("testname", mneID1, &trop, sbi, conflict.Metadata{})
+	mne1, err := NewNetworkElement("testname", mneID1, &trop, plugin, conflict.Metadata{})
 	if err != nil {
 		t.Error(err)
 	}
 
-	mne2, err := NewNetworkElement("testname2", mneID2, &trop, sbi, conflict.Metadata{})
+	mne2, err := NewNetworkElement("testname2", mneID2, &trop, plugin, conflict.Metadata{})
 	if err != nil {
 		t.Error(err)
 	}