Use Player objects where possible.

Needs to be tested before ready for release.