Right now when currency is disabled, then it's association record with a payment types (e.g. PayPal) is also removed.
However removal code is located not inside payment types unit, but in currencies unit. This is incorrect, because unit's must not use each other directly.
Instead unit communication can be achieved via hook usage.