That approach seems to not be the best idea anyway. I think the person object should only care about things of a single person. Obviously some data is part of it, so the constructor should only accept that data, maybe validate it for consistency, and then store it internally. It should NOT act as a person search object. Searching for persons somewhere should be the task of a person finder object that will eventually return a ready-made person object.