Added identifier and function RemoveChangeCallback

Added identifier to prevent callback doubling.
Added RemoveChangeCallback to remove callbacks added with an identifier.

I forced the identifier to be a string, but that can be changed if it's unneeded.