init_needed() will set a needed object on the thread local regardless of framework architecture
the injector middleware will call
init_needed to create a new needed object for each request and consequently set this object on the thread local data.
This is fine for frameworks that do one request cycle per thread, but might not be ok for frameworks that handle more than one request cycle per thread.
Maybe we should introduce a configuration switch telling the injector what to do.