Declare 'static' first, then use visibility modifiers

[ci skip]
Simplify Object->is_mutable
Cache values for is_mutable, implements and uses properties & use UnmutableCollection to store the data