Interfaces that have only one implementing class are most often futile. Not always. But often. That is because they are a sign of overgeneralization.
You can detect such interfaces by:
Take a look at the demo below to see how you can express this in Moose:
Essentially, you express it almost like in natural language: