Generic manager

There's just been too much work on this not to pull it. It will break all the tests, though, and there's got to be some cleanup afterwards.