My idea was to do something like ProcessLayer(layer), and then to call for that layer one of the available processing methods (add_attributes, normalize_attribute, duplicate_in_memory, etc.). Do you think it is very ugly?