To some extent, this is the inherent price in decoupling. If code A calls code B directly, then sure, it's easy to see what code A is calling... but it's also coupled to code B, with all the maintenance/refactoring problems that implies. If you decouple them — by whatever means you prefer — then maintenance, refactoring, and reuse are easier. But of course it means that looking at code A, you don't know what it might actually be invoking in any given situation. However, @Flipbookee says that the next version of Script Inspector 3 will be able to find (and replace!) all UnityEvent references to a method in the scene. That makes them not any harder to trace and modify than public methods called directly. Of course I do agree there's potential for misuse, as with anything else. But in my projects, it has certainly made things more maintainable, not less.