Pass a property in to the function, not a string

Leads to clearer code.

I also added some better wording for the unit tests after comments from @kenlim.