2000 milliseconds seems a little bit short as a default timeout to me. What was the rationale behind picking that? Our default timeout for the fonts is 5000 milliseconds (but admittedly that's more data than the JS should be). Maybe 3000? I have no idea how to choose these kinds of things.