Separating responsibilities