It’s not necessarily hard. But it’s cumbersome and just one of the worst codebases I ever had the pleasure of working with. Basically everything about it is legacy, bad design choices, hacks, workarounds and compatibility fixes. That’s what makes it complex. It needs a rewrite 10 years ago. But due to the deep integration of thousands of plugins that will never be possible.