Fix up the client's player system

I've no objection to keeping this branch open a bit longer, but I wasn't sure what else to do on this branch, so I thought I'd make a pull request.