Refactored self into player controller