Refactor player interface a little