Is there a reason we can't just have a hash of `name => listener` ?