undoable

fun <T : View?> undoable(action: String, view: T, block: (T) -> Unit)