To allow easy customisation, there should be six scripts that can be executed when connectivity is established
Realistically, it makes sense to have three scripts, but have an argument passed to them to signal connect/disconnect.
On(Dis)Connect should be called by the 3G/Wifi scripts at it'll apply to any type of connection.
Example Use Case: To make testing/management easier, I plan to have the script automatically open a reverse SSH tunnel to one of my servers. That way I can SSH to that server and then come back down the tunnel to perform checks/monitoring on the Pi whilst in the testing stages