It's because of the way the code in htmlformentry is written. DrugOrderTagHandler/SubmissionElement uses classes from htmlformentry-api and the handler/element is used by htmlformentry-api, which would mean a cyclic dependency. I could have worked it around by some additional submodule or more refactoring, but I figured it's quicker to decouple things using conditional DI. It seems cleaner to me, but I could work on the other approach to compare. I still use conditonalResources in config.xml, which is not strictly needed in this case, but it makes things clear.