Refactoring: Seperate communication /w external services from controller logic