Validated the use of vtables and std::function that captures function pointers, lambdas (closures), and functors