Extended collector interface to support the primitives produce and
consume, which are to be made reversible "behind the scenes" and
forwarded as a uniform command to transaction handlers.

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>