An abstract server implementation I wrote for a class