In a project I've been working on recently, there is a class 'Abilities' defined at the very top that is used in many other classes below it. Recently in the class 'Abilities' I have needed to create a function 'activate' that needs to have classes from below passed into it. So my question is this: is there a way to define the classes that I need to pass into 'activate' before the 'abilities' class, and then somehow over-ride them later? (Similar to declaring functions and then re-defining them at the bottom of the code) Help is appreciated :)