Common pattern illustrated and appropriate levels of abstraction now in place. Time to decide packaging