Split onUpdate listener into Pre and Post
Minor test tweaks to better handle different orderings