resolves #5 - don't update the listeners unless there's actually new
data