Factor out PropertiesDatastream behavior to a concern to facilitate overriding