switch to one class with create_resources
support creating control socket listeners
Merge branch 'socket-listener' into default-listeners