Step 7: Refactored to use a (new) NameService.  Separation of concerns!