Added some logic to generate the Slug as you are typing. Just add the generates_slug attribute to the page type definition.
Added some logic to check the attributes of a draft when editing to ensure that it matches the current definition on the page type.