App wide modal

In my app I have a tabbed interface, and a modal view that might be triggered at any time (It is a phone app so when a call comes in interrupting the user is fine.) What is the best way to go about this? I want the answer/decline screen to popup, then if they decline it will go back to whatever they were doing before.

I don’t want to have to copy/paste code between all the controllers to handle the view. Should I stick it in a an angular service and stick the UI functions on $rootScope? Is there a better way to do this that I am missing? Like having a separate controller for the $ionicModal?