Why is this parameter a pointer? Maybe it would be safer and easer to just have a member instance instead?