Can probably cache the listener, so you don't have to grab it twice.