#add - maintain list of connections
#update - use socket middleware
#update - use middleware function
#add - test middleware cascade