The Rule of Three
At first I thought this might have been a repost of some refactoring advice I heard of long ago. A quick google finds a reference on wikipedia [0]. Essentially it goes like this:    The first time you implement something, just do it.

    The second time you implement the same thing, copy it.

    The third time, refactor.

The OP seems like an interesting variation on the same theme.[0] http://en.wikipedia.org/wiki/Rule_of_three_(computer_program...