Added assertions on Commands.Count for CompositeCommands, changed to ShouldImplement instead of casting