layer list listens for visibility events