abstracted a dependency carrying object to InjectableObject and got Provider to use it