I wrote one for shadow. It might have some stuff that’s more widely applicable to other classes in it.