An instance of this class is like a final variable that can
either be initialized, or left uninitialized. This is useful for keeping
track of whether or not a particular branch of code has been executed. For
example, say you've got some code that operates on a set of objects.
Sometimes, the set is mutated, sometimes not. To remember whether or not a
mutation was made, the set's update method could be coded as:

When the code is done using the set, a commit() method can check to see if
any updates need to be written:

public void
commit() {
if (dirty.is()) {
// write out the new set
…
}
}

By using this class, instead of a normal variable, you can better communicate
to a code reviewer that a variable is only assigned once. The variable
declaration alone ensures this property is enforced, without the need to
inspect all the code that can access the variable.

This class is named Milestone, since it keeps track of whether or not a
program's execution reached a certain point or not. This program meaningful
execution point is a milestone.