changed behavior of _process_state to return a single signal rather than a list with one item on change