Bind a threading.local per manager (instead of inheriting)

This also changes MetaManager to use a WeakKeyDictionary