I'm currently working on a new app that utilizes the Google distance matrix, directions service, and various map features such as custom markers. I'm curious - where do you think is the best place to house all of this different functionality? Should it be within a controller, a service, a directive, or perhaps a combination of them in a module? How would you approach integrating these components in an angular way?