Unqueued zk consumer

As discussed... I've separated any bits you might want to pick and choose between into their own commits. Upped the version number to 0.2.0 as it's a breaking change - but done this in a separate commit in case you want to use a different version number. Could add as a separate function instead?