Adapter java demo example before
Advantage: decoupling; Disadvantage: lengthy code