is there a generic name for this type of thing? not sure how to google for existing implementations
[1] http://martinfowler.com/bliki/BranchByAbstraction.html
[2] http://www.martinfowler.com/bliki/StranglerApplication.html
"There's another important idea here - when designing a new application you should design it in such a way as to make it easier for it to be strangled in the future. Let's face it, all we are doing is writing tomorrow's legacy software today. By making it easy to be strangled in the future, you are enabling the graceful fading away of today's work." -Martin Fowler