Decoupled javaScript, CSS and HTML