Improve generic observers