Instead of validating arguments through run over kwargs, it seems more sensible to make an arguments class over pydantic's BaseModel class (continuing #292 with the proposed #296) that we can pass in run and supply as a generic to PRA - that way, we can have a better JSON/YAML schema for config.yaml that validates algorithm paramaters, and we don't have to deal with issues when manually specifying arguments using kwargs through run.