ANother way to do it is by passing a closure rather than the class . Then you can avoid using mirrors. e.g. Note that such solution, while very useful, may not be so elegant in case you had many parameters to pass.
Read moreHow are parameters passed in Dart?
Parameters are a mechanism to pass values to functions. Parameters form a part of the function’s signature. The parameter values are passed to the function during its invocation . Unless explicitly specified, the number of values passed to a function must match the number of parameters defined.
Read more