Reduce coupling to enhance extensionability
Reduce doupling