!str #15271 make transform() take a factory instead of Transformer

+ Makes reusing flows safe 
+ Adds timerTransform for ops which need TimerTransformer,
  for now it was the easier way out we should rethink if we need to
  specialise a lot on it or not.

// Also, making the API more verbose. Refer to #15271 on why we want the explicit `() =>`

As discussed in the team, this is the "simple" version, no classtag magic involved (which would leak into user api).
+1 for `TransformerLike`, nice way to separate them, thanks :)