changed CommandExecutingContext to be struct