protected override void ExecuteVirtual() { exampleRandomBoolCommand = new ExampleRandomBoolCommand(); // you could also keep a local reference to the ExampleDataObject. exampleRandomBoolCommand.Init(new ExampleDataObject()); exampleRandomBoolCommand.AddCallback(this); exampleRandomBoolCommand.Execute(); }