Add clearer UI and message to Player. Extract some more logic to methods.