Refactor Person and accompanying tests

Complies with #33