Lose qAPPLY_IMPL_STRATEGY code - just always use std::function. The cookie approach CAN be resurrected later if there is a performance need, but I hadnt tested/used the other in a long time, and I've been using std::function more and more. Its simpler. Maybe stick with simple until I see a clear need