refactored the code to have better abstraction around InteractionModes
Merge branch 'master' of https://github.com/jayhack/SoftStroke