added some propertyChangeSupport for monitoring when somethings change under the hood