move drawing logic out of player struct