No longer use std::function.