I'm not sure if I understand correctly - let me describe how it works:
1. The bubble object serves as a template. It defines the appearance (CSS, popup effects, etc.) and handles the dynamic HTML requests. In most cases you will want all bubbles to have the same appearance so you can reuse the bubble object.
2. There are three properties in the Scheduler that will let you enable the bubble for the respective objects (BubbleEvent, BubbleCell, BubbleResource). You can assign the same DayPilotBubble to all these properties. The main reason why these properties are separate is that assigning a bubble object to one of them enables the bubble for the object type. If the property is null, the bubble is not enabled for that object type.
3. You can also add a special active area to events with action set to "Bubble". This only works for events (not row headers and cells) at the moment. This will let you specify an icon inside the event box that will trigger the bubble. If you set EventHoverHandling to "Disabled" this will let you display the bubble when hovering the icon (rather than the whole event box).
In addition to that, you can display the bubble manually using JavaScript when needed (see the .showHtml() call example above).
The bubble is designed to work primarily with "hover" events. It stays displayed for a limited time - as soon as you move the mouse outside of the source or outside of the bubble itself, it disappears. There is an option to make it stay visible (HideAfter="0") but that doesn't make it a modal dialog.
If you need to display a modal dialog, you may also want to take a look at DayPilot.Modal - http://code.daypilot.org/81367/daypilot-modal. This is a true modal dialog that will allow you to display interactive content inside.