It looks like this whole branch is fucking useless, considering that I'll need to reimplement that massive switch statement again just to determine which overwritten method to use. I might as well not have bothered.