+1 This seems good to me, especially as it aligns the implementation closer to the original proposal.