Hey man, hope you're doing well, I'm currently not at my machine, and I don't really have any code to work off as I haven't done it before. However, if you're wondering in what order things happens, if you're overwriting vanilla methods just put print statements in it, you'll see what order they print and therefore can work it out, some of them are dependant on conditions but through analysis of the vanilla classes I'm sure it will become explanatory, if there's any particular method you're confused with I'd be happy to take a look when I'm next around, stay safe and stay inside ❤️