diff --git a/Tools/pynche/Switchboard.py b/Tools/pynche/Switchboard.py
index e70461a..37b7851 100644
--- a/Tools/pynche/Switchboard.py
+++ b/Tools/pynche/Switchboard.py
@@ -1,16 +1,10 @@
 class Switchboard:
-    def __init__(self, app, colordb, red, green, blue):
-        self.__app = app
-        self.__colordb = colordb
-        self.__red = red
-        self.__green = green
-        self.__blue = blue
+    def __init__(self):
         self.__views = []
 
     def add_view(self, view):
         self.__views.append(view)
 
-    def update_views(self, srcview, red, green, blue):
+    def update_views(self, red, green, blue):
         for v in self.__views:
-            if v <> srcview:
-                v.update_yourself(red, green, blue)
+            v.update_yourself(red, green, blue)
