Resource base class refactor to DRY things up