Typical case of code providing policy instead of mechanism, the solution of course being to provide policy over numerous classes, rules engines, etc instead of writing a few methods that provide mechanism.<p>eg. Why is this method concerned with whether the notification is email or something else...<p>Are persons not also the case of a group with one member?<p>It seems less like refactoring and more like hiding complexity in frameworks.