Concept CE::Events::EventPayload

template<typename T>
concept EventPayload
    template<typename T>
    concept EventPayload = std::is_object_v<T> && std::same_as<T, std::remove_cvref_t<T>> && std::is_copy_constructible_v<T>