Major code refactoring
All web request classes were refactored, the changes also includes:
- Only avatar requests will be cached using last-modified / if-modified-since strategy