Property attributes are no longer static.
Better for inheritance
Fluent chained getter/setter
handle null value & fix counter
fluent && property list
update doc