scope is not necessary
always use a block for cleanup / prepare callbacks so we can clean the method signature