Chocolate can be Good. 
Statement can be True. Comment is a type of Statement. Knock is a type of Comment. one thing you do when you Surprising is Knock. 
Good <--HasProperty-- Chocolate 
True <--HasProperty-- Statement <--IsA-- Comment <--IsA-- Knock <--HasSubevent-- Surprising 