added returns
Consumer now returns what either onError or onData returns
0.0.2