Will flesh out the description next week, but for now, seems to be working:
Will probably depend on the other MRs getting merged first, then because I branched this off other changes it will probably need to be merged from O4-dev.