Should honor javax.inject.Singleton as well