Changed 'toInput' to a pull-based 'Consumer'