See machine definition in John Graham-Cumming blog post

Task: ""