Alright, I know what's going on. What's going on is that I'm a moron and I don't know how to refcount. Ironically, I also know how to fix it, which will result in some drastic simplification of what I've been doing. 