Command Design Pattern Commit