Setters in resource.py need to check that the values are consistent. For example, the preferred stride must be > 0.