One thing you
cannot do is edit the .class files directly. They have a hash built at publish, so if you modify one of those files the handler will no longer work. Many years ago you
could edit them (to change a variable data type, do some other stuff not available through Designer), but not any more.
The handlers used to be Java files (hence the naming convention) but now they are "i3speak", as it were...our own language. But still text files.
I realize that the tools in Interaction Designer are not all you'd like them to be. It has never been given the highest priority in Development, basically due to business decisions on where to spend the R&D money (Designer is "good enough" for most folks).
I've been using it for over 18 years, so I've seen the massive improvements...but I also know how to deal with all of its quirks, and I view the pieces as tools to be used as makes sense. Then again, I'm the guy who uses the CLI to configure Cisco switches because I hate their web interface...so I use the keyboard a lot in Designer, and go right to the files and directories, and don't use Dependency Viewer for much beyond seeing which subroutines will be affected when I make a change, or to see where a specific subroutine is called from.