This is really nicely written. The concept of removing dice from your pool to determine difficulty is also an interesting approach!