Command Design Pattern C# Example