First Checkin

I use this design pattern a lot so want a nice place to store it