A helper trait abstracting over sources of different preprocessing data. Types that implement it
should be able to provide objects that resolve to either a triple or a singlet as requested,
and in the order they are requested. This allows us to start online phases and generate
preprocessing data on the fly instead of needing it all upfront.
A marker trait for preprocessing types that can be served in the online phase, maybe requiring
some associated data to be generated/requested/verified. Includes verification and random
generation capabilities.