field level field data cache should take into account a null listener
also, cleanup the onRemoval code