actionpayload now contains serialization and deserialization logic