The API factory now uses a simple singleton. It should use a thread local so each thread actually gets a new instance of the API. Today, the AXIS implementation would fail on a concurrent call.
Using thread local is better than a singleton or a new instance for each call. The first is high performance but fails on concurrency, the second is slow. With thread local, it is the best of both.