I suppose setPayload with a const pointer is okay if it really bothers you, I would say that the setters elsewhere in our code are less clear then they could be when they just say setX. You're doing more than simply setting the member variable in these cases.