diff --git a/src/calng/PickyBoi.py b/src/calng/PickyBoi.py
index 0d484425f450c3af68a7220ea16852b5a42e9de9..2a8e15e408b83b0f161746341326a6cba996d7b1 100644
--- a/src/calng/PickyBoi.py
+++ b/src/calng/PickyBoi.py
@@ -51,6 +51,7 @@ class PickyBoi(PythonDevice):
 
             STRING_ELEMENT(expected)
             .key("ppuFollowingState")
+            .setSpecialDisplayType("State")
             .readOnly()
             .initialValue("OFF")
             .commit(),
@@ -81,7 +82,7 @@ class PickyBoi(PythonDevice):
 
             SLOT_ELEMENT(expected)
             .key("toggleFollowPpu")
-            .allowedStates([State.MONITORING, State.PASSIVE, State.ERROR])
+            .allowedStates(State.MONITORING, State.PASSIVE, State.ERROR)
             .commit(),
 
             SLOT_ELEMENT(expected)
@@ -90,7 +91,11 @@ class PickyBoi(PythonDevice):
 
             SLOT_ELEMENT(expected)
             .key("captureNextTrain")
-            .allowedStates([State.MONITORING, State.PASSIVE, State.ERROR])
+            .allowedStates(State.MONITORING, State.PASSIVE, State.ERROR)
+            .commit(),
+
+            OUTPUT_CHANNEL(expected)
+            .key("output")
             .commit(),
         )
 
@@ -172,7 +177,7 @@ class PickyBoi(PythonDevice):
         # TODO: check against timeserver to handle wild future trains
         if self._just_capture_next:
             self.set("nextTrainToCatch", current_tid)
-            self._traint_to_get = set(
+            self._trains_to_get = set(
                 range(current_tid, current_tid + self.get("numberOfTrainsToCatch"))
             )
             self._just_capture_next = False
@@ -213,7 +218,7 @@ class PickyBoi(PythonDevice):
                 self.updateState(State.PASSIVE)
         self._previous_tid = current_tid
 
-    def _update_target(self, new_target_tid):
+    def _update_target(self):
         # assumes nextTrainToCatch and numberOfTrainsToCatch have been set
         new_target_tid = self.get("nextTrainToCatch")
         self._trains_to_get = set(