Prefer the use of public_send over eval

`eval` should be used really carefully.
I agree it's a bit of over testing :)