Yes, it comes to idea of @ImplementedBy - this method should allow us to use single interface for instantiating classes by their types, e.g. it's API:

Instantiator#instantiate(Class<?> clazz);

We use custom approach in several API classes, because their respective implementations are implemented in Impl module, e.g.:

https://github.com/arquillian/arquillian-graphene/blob/master/api/src/main/java/org/jboss/arquillian/graphene/context/GrapheneContext.java#L108

It would be beneficial to use single interface which will allow to mark an interface with @ImplementedBy which refers to the implementation type name or the class (which is more refactoring-prone).