In EntityNG text fields started using $item->processed instead of $item->safe_value. We need to make sure the prepareCache logic and the all the widgets/formatters use the same key. I'm not sure there are good reasons for changing the key, so I guess it should stay safe_value and safe_summary, i.e. renamed the computed EntityNG properties.
Then, the prepareCache() logic needs to be aligned such that the cached value can be set with NG API and it becomes cleared via onChange().