Modifying how the internal propertyKeys value is generated, added support for "null" property keys, implementing Collection-esque methods inspired by Doctrine's ArrayCollection class.