Essential object functions