!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).
@ktoso
>So this is currently not very type-safe, you can pass-in a TimerTransformer into a transform, which will NOT work >as expected. Shall we make TimerTransformer not extend Transformer, or deal with this in some other way?

That is a good point. What about moving the methods of `Transformer` to `TransformerLike` and
`Transformer extends TransformerLike`
`TimerTransformer extends  TransformerLike`
?