Add @Sharable annotation and store transport name inside transport type
enum