These FSDs must be able to support all of the function interfaces that they may have provided in previous implementations for compatibility. An example of such an interface is network APIs that are used to manage the network. An existing app that uses these interfaces must be able to continue to run. This support must be implemented by the FSD. Since many of these interfaces are implemented by hooking interrupts, there is a possibility of overlap in the FSD specific functions. The IFS manager provides services to hook and service other interrupts and these services should be used by the FSDs. The FSDs must manage these functions with the intent that other FSDs exist in the system at the same time. In most cases, this simply means chaining on to allow other FSDs to handle requests that are intended for them.