In reply to ce_2015:
If you have different interfaces you might mot be able to have only one agent type, reusing it for different interfaces, because each interfac e will have its own interface protocol in the driver and the monitor.
But you can reuse any agent defined for a dedicated interface in any other project without making any changes. You can simply make a link from the old project code to the new project. This works perfectly.