Simplifying namespace, allowing custom headers (instead of just cookie), and allowing passing ioloop to reduce reliance on singleton.