huge refactors, service-izing user/socket/streams, adding some light ui work to p.o.c.