An excellent and comprehensive blog post. Well done!