Consumer and Supplier implementation.