Refactoring the propagation of data