Use payload directly instead of creating a mutable copy