Do not emit reverse events if value haven't changed
Move _lastModified_ to history.js, add _lastEvent_

They are strictly history related and should be defined in history
module