48124533 Build a base class (Resource) and refactor the Category resource to use it