https://tobiasuhlig.medium.com/intercepting-component-state-to-ensure-smooth-animated-transitions-4facd46414dd