ensures that we only create instances of injectable classes