I'd like to combine the _new and old, push the GIL release back down into the functions, and finish getting rid of the globals. All for another day...