Extracted all transition related code into a seperate class

* Fixed an issue where transition was completing before the other
resolvers (vimeo ready and min wait time expired) had resolved.