Object Hierarchy for jsPlumb
----------------------------


EventGenerator - jsPlumbUIComponent - OverlayCapableUIComponent - Connection
			   |					|							|
			   |					|							- Endpoint
			   |					|		
			   |					|
			   |					|
			   |					- DOMElementComponent - DOMElementEndpoint - Endpoints.Image*
			   |										  |					   |
			   |										  |					   - Endpoints.Blank
			   | 										  |
			   |										  - AbstractDOMOverlay* - Overlays.Custom - Overlays.Label
			   |
			   |
			   - jsPlumbInstance
			   |
			   - ContinuousAnchor
			   |
			   - Anchor - FloatingAnchor
			   			| 
			   			- DynamicAnchor			   



Segments.AbstractSegment - Segments.Straight	
						 |
						 - Segments.Arc 	
						 |
						 - Segments.Bezier



AbstractComponent - Connectors.AbstractConnector - Connectors.Bezier
				  |							 	 |
				  |							     - Connectors.Straight
				  |								 |
				  |								 - Connectors.Flowchart
				  |								 |
				  |								 - Connectors.StateMachine
				  |	
				  - Endpoints.AbstractEndpoint - Endpoints.Dot
						   					   |
						   					   - Endpoints.Rectangle		
						   					   |
						   					   - Endpoints.Blank
						   					   |
						   					   - Endpoints.Image*
						   					   |
						   					   - (Endpoints.Triangle)		


Overlays.AbstractOverlay - Overlays.Arrow - Overlays.PlainArrow
						 |				  |
						 |				  - Overlays.Diamond
						 |
						 - AbstractDOMOverlay*



Objects with Multiple Inheritance:						 
----------------------------------

* ImageEndpoint extends from both Endpoints.AbstractEndpoint and DOMElementEndpoint
* AbstractDOMOverlay extends from both Overlays.AbstractOverlay and DOMElementComponent


