Still not done here, just gonna push a commit now so I can pull this from elsewhere.
The server will implement some classes it probably shouldn't need because certain items or game states depend on them.