Fully functional Player class.