The blkdeactivate script handles various device-mapper subsystems, including LVM, mpath and cryptsetup and it can handle even more in the future. Each subsystem could have its own specific extra code to handle these devices. Think of a better separation of the script and handling of these various subsystems so that it's more straightforward to package these parts and create proper dependencies. (See also bug #1201030)