Represents an entity which can be modified. A Modifiable records it's state when
it's created. As long as the Modifiable remains in this state then invocations of
isModified() should return false. If this state changes in a way which makes this
Modifiable "dirty" then subsequent calls to isModified() should return true.
It is up to the implementor of the Modifiable to determine the contract between
the Modifiable and the entities interested in it's modified status. This could
include interested entities taking action on the Modifiable once it has become
modified which result in it's modified status being reset. Another possibility is
for a Modifiable to be discarded once it has been modified.
author: Eric Westfall |