Add data api (so we can store readyState and anything else we want)