@@ -0,0 +1,953 @@
+import Axon%0A%0Aclass TransformerSplitter(Axon.AdaptiveCommsComponent.AdaptiveCommsComponent):%0A    Outboxes = %7B%22outbox%22 : %22%22,%0A                %22signal%22 : %22%22,%0A                %22rejects%22 : %22%22%0A               %7D%0A    def __init__(self, filters=()):%0A        super(TransformerSplitter, self).__init__()%0A        self.filters = filters%0A        for filter in self.filters:%0A            self.addOutbox(filter%5B1%5D)%0A%0A    def main(self):%0A        while 1:%0A            if self.dataReady(%22inbox%22):%0A                data = self.recv(%22inbox%22)%0A                rejected = True%0A                for filter in self.filters:%0A                    data, send = filter%5B0%5D(data)%0A                    if send:%0A                        rejected = False%0A                        self.send(data, filter%5B1%5D)%0A                        break%0A                if rejected:%0A                    self.send(data, %22rejects%22)%0A            if not self.anyReady():%0A                self.pause()%0A            yield 1%0A%0A

Add TransformerSplitter component - a hideous mash-up of SequentialTransformer and Fanout which is actually pretty useful.