replace evil evals

where possible, it's way better to use getattr.
put method signature back to normal

because I'm silly and shouldn't have removed the extra parameter in the first place, obviously.
more patching and mocking