Nuke the Mannux demo since it requires a lot of babysitting
Introduce a tracked lock class that can deterministically detect and prevent deadlocks.
Make TrackedLock's name optional and allow passing in a function that returns the name so it can be dynamic
Fix TrackedLock leaking Wait instances (which could cause a ThreadStateException if the same thread waited on a given lock multiple times)
Improved TrackedLock interface so you don't have to catch exceptions to use it
Switch to a new threading model for the function cache where tracked locks are used to detect deadlocks instead of WaitOne.