Interface for objects which are interested in getting informed about
document changes. A listener is informed about document changes before
they are applied and after they have been applied. It is ensured that
the document event passed into the listener is the same for the two
notifications, i.e. the two document events can be checked using object identity.