Branch corresponding to GAUDI-1132 -- provide infrastructure for stateless (to be correct, immutable state, aka const during event loop) algorithms which explicitly state their data dependencies and output.