Abstracted listeners a bit more, optimized imports