pointing out that visibility is needed only for tests
introduced level of indirection "ResponderCreator" so will be able to create responders without having to use reflection
removing use of reflective instantiation of classes we want to refactor