Agnostic Services: The Evolution of Reusable Code December 2, 2012 In The Code Reuse Paradox , I illustrated some problems with writing reusable code: developers must know which code to generalize, how far to generalize it, and how to tell