Removed usage of ArrayObject, opting for ArrayAccess instead