Define fullscreen in terms of "animation frame tasks" and reduce the amount of asynchronous running code issues