Once I made an application that uses swing eventlisterners a lot. debugging was a nightmare since ... you know how it is if you have 300 classes that all implement one, two or three event listerners, all of them realizing two to ten different functions.