Make sure dataSuppler and consumer are only set once.

This changeset makes sure that on the processor spec,
the dataSupplier and the consumer are only set once.
This also makes the contract ecplicit that in the
current implementation, only one dataSupplier and
one consumer can be used.