Separate Client and Internal Server interfaces, add ServerBuilder, basic tests