nicer handling of query params
transitionend should only be listened to for correct target elem
swapper update