Use URL attribute instead of calendar in index view.
Make URL an attribute of module model.
Move all code for handling HTTP to own class.