fix "Unable to locate sign" chat message

moved protocol listener to seperate class

single instance of protocol listener instead of an instance for each region

issue was being caused by using Async listener, not using async anymore