If a clip fails to load because of a  times out, we want to attempt to load the next clip.

If it later loads because the timeout was just taking a long time, we want to still display the clip. This means if we call next from a fail, we do not want to call it on ready, because it has already been called.

I chose to solve this with events. I felt it abstracted the problem into more specific functions that did only what is needed when called. Instead of a function that tried to do everything, but had to be filtered out for only a small percentage of cases.