This PR:
- is a pure refactoring with no behavior change
- gets rid of
QMetaObject::invokeMethod()
“dynamic” calls, i.e., without compile-time checks of a called function name and its parameters - replaces
std::bind
s with lambdas, making parameter permutation (including parameter omitting) explicit - makes code simpler, more concise, and easier to reason about
Additionally, debug messages have been unified.