I've realized now how middleware works. Now, I'm wondering where sessions would fit in. Would they be a piece of middleware, or an extension? If so, what would the interface look like?