Moved some mouse move handling into the core module.
Removed the now-unused methods and imports.
Moved the selected array into the input context.
Shadow the pattern field.
Use selectedFoot of the inputContext rather than ci.feetIndex.
When building up the context menu, refer to the pattern field.