Give entity a var so we can pull cookies from it if needed
Implement SetsCookie, only using an Entity instance if needed
Implement RequiresCookieInUrl, and prepare for a few others
Implement RequiresCookie and RequiresHeader
Implement RequiresAuthorization
Implement setters and getters for cookies and headers and validate them
Implement setAuthentication with validation
Implement setHttpBasicAuth method