Separated consumer input to the engine (SignalConsumer) from output from the engine (SignalConsumerStatus) component.
Adding support for different modes of evaluating signal for consumers.