         let stateProperty = MutableProperty(initialState)
         self.state = AnyProperty(stateProperty)
 
-        let (signal, observer) = Signal<Reply<State, Input>, NoError>.pipe()
-        self.replies = signal
-        self._replyObserver = observer
+        (self.replies, self._replyObserver) = Signal<Reply<State, Input>, NoError>.pipe()
 
         /// Recursive input-producer that sends inputs from `inputSignal`
         /// and also next producers generated by `NextMapping`.

    ///
    public convenience init(state initialState: State, input inputSignal: Signal<Input, NoError>, mapping: Mapping)
    {
        self.init(state: initialState, input: inputSignal, mapping: _compose(_emptyOutput, mapping))
    }

    ///

    return { x in g(f(x)) }
}

private func _toNextMapping<State: StateType, Input: InputType>(toState: State?) -> (State, SignalProducer<Input, NoError>)?
{
    if let toState = toState {
        return (toState, .empty)
