Ensures that all options get passed along correctly to collaborators
Stops checking x_extent/y_extent on every iteration
Standardizes required/optional parameter rules