I think I've found out the answer for the first question.
vm->setBroadcaster((SocketListener *) cl);
nm->setBroadcaster((SocketListener *) cl);
In this case, VolumeManager and NetlinkManager need to send the notify to MountService which is in framework layer. Hence, CommandListener acts as a broadcaster for vm and nm. : )