Initial Checkin.  Adding source code for Factory Method design pattern