NF: __str__ for surface query engine
NF: seperate __reduce__ in legacy form + unit test