Fixed a cluster of bugs caused by the change listener.
Basically when you selected a contact the change listener caused the
underlying entity to be modified unnecessarily which then required the
user to 'save' the entity before being able to move on.