Player classes now follow ISP - moved pass(), shoot(), etc. functions away from Player into each subclass where relevant.