another near complete rewrite, condensing everything to one interface

With the new-found clarity of services vs sessions, I was able to cut
everything down to one interface, get rid of the Tomb dependency (wasn't
really getting us anything anymore) and generally clean up and reduce
the code