refactor some XHR code to make more intuitive
use Object prototype’s `hasOwnProperty` for style
implement GradeRetrievers