Develop

- mouse panning support + workflow for future mouse Tool adding
- external system support
- code refactoring across the board
- userinputlistener extension to include Tool functionality