Refactoring classes and interfaces names, I think now its clearer than before.