All you really want to do is display contact info on pages? You can create a partial that handles the display and link it up via {{ cms:partial:... }}
tag. Logic that is responsible for pulling contact info should be handled in the partial (you don't really have a controller here).
The idea is to have all the tags defined in the cms layout. You really shouldn't have any cms tags as part of the page content. It's not that you can't (page and field tags are layout only though), but it's way cleaner not to burden end-users with those.