Move ObservableTransducer to a separate file