Fixed up message passing and added a consumer class as well.