Remove use of std::function in event_delegate_implementation