Thumb up.
However, some tricks are good to optimize but others do the opposite. I think you are mixing good practices with performance, and sometimes you can't get both. For example 17 that doubles the use of memory.
Also, I wonder why 4)?. Is it not doing automatically bu the constructor of the widget?