attempting to refactor out helper macro for std::bind; untested!