Started working on splitting Reaction into multiple classes as appropriate