Yet another attempt at making KVO safer and more convenient