This commit defines the Server API contract, and implements the Server functionality, minus the actual handling of requests.