move target class specification up
rename class
move target class specification up
styling code
rename method
convert class to template
move target class specification to one place
code clarification
increase template robustness
add dynamicClassSpecifications for managing multiple specs