Support masking user input
Implement methods on the pointer type

This really seems like it should be the default for a lot of objects.
I can't imagine a scenario where you'd WANT to copy in the struct
into the method here, but it probably exists for someone