Thanks to @narretz for help in fixing style violations and to @gkalpak for a very extensive review. Closes #14952
Closes #14874