Added callback for listen, if you want it.
Disable HAL by default, enable it when you want to.
Update hall support with a general option setting
Simplified listen
Added a bit of documentation