A generic library for building remote services