I posted the start of this a while back and finished the same day but forgot to post it. Here's the final piece: