Commonsense reasoning about causality: Deriving behavior from structure | Open Awesome