Port over Global and AutoConfig, change ListenerManager