Many protocols need to do the same things as parameterizing small molecule components, creating OpenMM topologies and merging them in a hybrid one, and creating OpenMM systems from that. Each of these should probably happen in their own callable and these should be ready to be used by the protocols as needed.