Refactor injection flow to better handle normal use