Match 15055_wip commits to #15055 subtickets

Some parts of #15055 (moved) are done; I should figure out which.