Static field loses the type variable T and I have to stick SuppressWarnings everywhere. Besides, it is typical one makes local copies of variables in methods. In many places, I considered the option of using static, local or instance NotificationLite based on use and memory cost.