A couple of things about this:

1. We do not generally put WebDriverWait calls into tests, instead we put them into page objects, so I would suggest that you take lines 37-38 and add them to the end of the ```events_page.filter_for()``` method.

2. I think you need to change the condition you are waiting for into a negative, i.e., ```lambda s: not s.find_element_by_id('canvasLoader').is_displayed()```. Right now you are waiting for the canvasLoader to be displayed but I think you want to wait for it to *not* be displayed.