Factor out PropertiesDatastream behavior to a concern for overriding