This is what I was talking about, separation of concerns