Use the base class in a better way.
Add nullptr file.
Change notification for the rest of the properties.
Updated predicates.