Separating protocols from server

Server is buildable, but non-functional as some classes return dummy
data.