Hiding Component and adding interface
Hiding Component and adding interface
Created specific type for Component.Mode
Hiding more details inside the package; exposing via interfaces
Uses factory() to construct graphs
Further cleaning of package interface