Re-use SetPage rather than implementing page boundary checks twice
Add package name to all error messages for clarity in downstream errors