https://blog.jupyter.org/posts/2019/diving-into-leadership-to-build-push-button-code/