Refactoring: pulled method into a separate concern in preparation for work on story #158