Adding isCallable, propertyExists, propertiesExist