Refactor SelectionChange
Refactor mutation functions out into Mutation