- it's complex and hard to understand - it's spread out over a lot of files, so you need to jump around a lot - moreover, it invites more of this kind of coding style into the SDK