Factory Pattern Committed