no need for the dummy files to compile
unset listeners on cleanup to avoid events coming asynchronously
@Override is always a good indication in the code
use LogManager so logs can be redirected if needed