object_new is macro so init args can be passed directly