Initial work for #2204 No UI, but everything needed to build one and have it work.