Return something useful and support init/destroy