Can the weird/crappy/nonexistentness-affected stuff be isolated in a separate file?

Like, imagine what you _wish_ the interface for interacting with NetLogo were, implement that interface with whatever behind-the-scenes gymnastics and ugliness, and then have NetLogoController talk to NetLogo through that nice clean interface?

(note: I'm suggesting this in the abstract, without actually having read your code. just the typical suggestion when some external, legacy thing is messy...)