Listener refactor and storage interface