Solving and Composing Events