Refactor requisites to be their own object (context manager comming)