Extend PRandomImpulseSequence's every() method across all Pattern subclasses, so that any pattern is able to schedule its own periodic events.
This means a that hook will need to be injected at the start of every class's __next__ method. Nicest option is probably to alter the convention so that the generic processing method for Pattern subclasses becomes next(), and have the top-level Pattern class define a generic __next__ method that triggers hooks before calling and returning self.next().