Prepared for dependency injection, refactored class names to be more clear

refs #18455