provides an implementation of the differing pattern types specified by the gang of four, java blue prints, etc...