Wiring in shadow extraction

WIP: @markhibberd 



:+1: These types look good to me now. I think it will be even better once ShadowRepository is a thing, but this is right for how things are.