refactor ListProperty and ObjectProperty

to inherit from an abstract JsonContainerProperty