Move to more of a tell-don't-ask approach when it comes to retrieving information from spies. Replace the spy allocator with an intermediary that will proxy method calls and return values. This is necessary to begin moving toward making sure that no references to CiSpyHandler can leak through to the rest of the app, preventing class and classloader unloading when a plugin is removed.