Also a great suggestion Here is a design pattern which explains the concept by our own illustrious Rich Koshak