- Project structure reordering for easier testing
- Fooling around with the HIDDEN_CHANNEL property
- Listener and Visitor implementations