General important concepts for functional JavaScript programming

General important concepts applicable to all tasks need to use a functional style of programming need to use promises and never callbacks need to wrap promises in functions so that the promises are not executed immediately. A promises starts executing when it is created so a wrapper function can be used to delay when a promise starts