format
use new foreach loops
better name
extract method
extract instantiation
final stuff
make it easier to cache
'cache' property descriptors