Refactored player constructor.