more time tests; no retain/release for UserCode
initialize task with hold count, not retain count
some methods can be @ambicritical instead of @critical