Events instead of code in player