Use virtual methods instead of pointers for core stuff