this architecture, of having a factory that returns lambdas and using **kwargs formatting seems overly complex and roundabout.