- Use FunctionRef to avoid passing a separate user_data pointer - Use std::string in arguments struct - Add search items in one loop after gathering search items - Use Vector of unique_ptr for search items instead of linked list