Abstract Factory and DAO Patterns
Transaction class added