Consumer subscription API. Closes #60