Oscar
Oscar
Slightly more [magical version](https://flems.io/#0=N4Igxg9gdgzhA2BTEAucD4EMAONEBMQAaEAMwEskZUBtUKTAW2TQDoALAF0fmPSk6IBqECAC+RekxYhWAK2olIAoZxHKYnAAQRsnctBhaAvFpoByAFqIAThHNEt5gPJREDpwBUA7vcfnPdhtEdwBdAB0oDW08JDB9QxMzFzcPAN9zCKhI6K0AZUQ4hKgk4EitLQA3ckRvFC0ACgBKEwA+coqtRgbzfHJKhw7OrVjEeINYVkYcBoaADyJyFuNWrSHhrp7R+I8yko2D6DB2TCgAc0R6xDaRwrHimBpyUKTEVk5MGwvOVkrMeAArogiOsDhU-oDLlo5qCNhJYcNdA8EZ1WBR4IIbA0AJ43XEAQmMpm2DxoAGoGuQTEStAAGJqhJooipTGYALxu3XMSImuwA1ohsfU2RItGymkz9gdJdL1pKxJFIowphAAQIGvgIGAAcwBKwAEYQfDYxwFIoTJp8EkTahoACMAA4ULTxJIQAxmCJWGAYIp+IJhGhxKESPByFA+ba6O7pCJGOROEFKAABNxzNQkAE2XhoLicXAoAD0hbV2D5Z29EEYhfjiZsKYATKxac2ALQ2MCsABsNYTSfgU3D8j9nGx2BkMDA9b0wbEQA) 😉
@Python-Regius glad it works...good to know the `value` attribute is still needed.
@Onesimu I think @spacejack had something like [this](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvEAXwvW10QICsEqdBk2J4A9GIAEAAX4APSVgA6aFULjFJhGFCi1JAXklw6ABxiGAfJIA8AEwgA3SwAkdeycBO1zrAIQ2Yg7OKmr0GpIYpqaGkgAUAJRWniqSkuqa3uaxNnCmGGiWAOq0AE5QdoF5BZapknWlMMQArqVoKe1pko4QMADuiPFJBtbaurRxWTAJdawqc6poWPhYtM0McXa01M04DPgARrR2AJ4UkdEJlDS0WKbQMKV4BxgHOtdwOjDUxBDheABGAGIAAMbA4IEwODw+GocAEN2EzB4bAAulQoBA0ABrBAoTjQnhYCDEQilaDXVrkHgkYimOCICTrUzYgDmsNuYmJpPJUGkAPwAoAbFySWToPh+NdiCdzHgTOTTKJ2ATuCADvDKeU8LT6YyxMy2RysGINXB+fgAKyC03wyUImVyngKiBKtGsIA) in mind?
Oh ok, yeah I put that in just to show it would be possible :)
@omenking I'm not sure I understand things correctly, but AFAICT the `render_items` shouldn't be done in the `view`, and in fact isn't needed at all. Here's an [example](https://tinyurl.com/pe844zrf). No idea...
@space88man I agree with @orbitbot's "... the whole implementation could probably be made more concise with writing things from scratch." Edit: I think the coding style has changed quite a...
@space88man we (@orbitbot, @StephanHoyer, and I) have been code golfing on the channel a bit, and my implementation (everything in one file) is [this](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHgCNaATATwD4AdNAAIhLODGrEI9IdSgY4cALz8QxLrQwAHLat4sA9OMnS0A4aLC1ajAE6z5ilSAhorewSJEstvACK0AK5ssAC0chDUANZC6kIwnBDEQhixGoa+nl4+vADCtjAYjJxCbNyiqYQFYM4kxFqIBgbqnLRYAG7U+HRYelowtFqwhhj6BpkW3r4AChi2ybRgFUJVMDWqdQ1NLW2d3W16ACoaALIAarkjYxPeBlY2MLbm3gCEoaFCAMrUthBaxHAVo8YPghAE0AByZIFLC0dowISAZMIhO9nqI3h8xD8-sk4LZqM40FwYAB9WGcQKwODNDQdajhNqwtAGNgKEEAKzgekMcGx-14qKyLAxol5v3+QjxBNUnIM2i0+E53KMfOIAtC5kMHB4vEoIHEsBM9AQiBAAE5EAAmACMIAAvhR0NhcKbFQgqHQGExiHhPXBkvKhEohAAKACUQd4QmAWVgyXJMCgQaEAClPgB5ABy+C0c3EIagtGoGCgn3UtgwAHMQdXiABJRhYENQjRwUJYJJVaAQsMRgA+faEyAAulk-ck5PQEcGAB6R1MZ7O52z5tNZ-D+35oSsQMDcEMz3tZWMwZI7YTB4B2k9njQiS-Xixj43JSBQOyA4PILIiYBvuyIEIEIAIJQFAEIULEMAzsQgEgWBEIOj+0b-o8gFgCW4iQYwMFwcBJjwohFDIX+0AAbEtiBDAkFQbhQG5G0QyngkiFZKOFhxkIqH2MG8HgTeKRgV4ybEJRMDHhY47xF69jJtaADMz5oP68S8to05CJaADsEkiFJcAYPCybhvOhbFqW5ZViC4j1o2zY7G2HbEF24GQWu2abq4O57iGCZQEeT6SS+QitGgGlzkoUYxpMQi7qGEVKLxJbgRG0XCSIfn4FYtgAKIYNQhAHvOM77FgTHFMmyVhshIjJcmLzJchj7CYm4hCH5yAzsOpXlQk9UdV1PVxgkyEGfC4ZZM1QhKSpGCcCUwYmZF0bIee+AQAtYJFCCRIAO4TTFa1SMQsD4KJEBNtVh0aGgQ3MZtGFQOIyGZVogRwIVk5hSG54BcJY0wAdwnnsmV6TbpsjBbAYDJItEbLZl3FFctLwlT0vWcGG+CwNuzmCFkBTEIEtjCGlXjtBAMC7YBS1Rt+MUZc2hCFJwjxECzjwQTVXhNhChDWhBQEOT2xEMzzzauG9xD4GFu2hDsgtk+lXgYIE6hWNQ72AaJVGi8rwlDPlMCELQUCs7YcEAOqEEUQhhQkgJxGwCKhTAAD8XNi8J9CS2rgHTlGR1JLAyYgsQcy1vg7Qlrr3Pe2gUQwNwrS7Wg-vzsAcUhiCifcAxrNBol0l2EIABkpfxGdEenlHMdh78l0RnNnDhkhXvk3X2s3Wdwfie3dpXcrYaQdzmU45WzlCFGAAMZel6PzbGFI9D4FgGCuJ7+vtRLaBS2dtCVpWYTJYrcdeBtcHqIfx8IXrW+xNw-RwQVEhRBwM6b-fL-RAkgGZTA8JbD7gilGNGjFhqYzPgPO+ytebyGdq5Fa7cRDZUvgfI+MBQgnxgfregERog03hlGV2zYT6D31g6ICJw5gxDqgoSGZVhoizPn5M+WUyKPGRlGbihdeKgXAkIN2Qg5yATAYw+6vCuIcNsOQ5Wq9tAhgPBQCARCz6MwhJSferRQhQAgP6T+99t4Ql0afZB+s5AKDgIBAABgAEmAGIjGgigLowgRCIQcF8pSEInaIQ9iSobUkTsdaJRy5AQSEkLyiFrE4MMW3QxwleZR0prtAxCT1G+2llfDBpj0nK2II-GAz9mbRHfmkvJsgSmJ04KIu6xRYl5LwTbbcRTQxEJClOEMKi1EUOHj02BzZ4GJkVvQTgIR8FREIfOHYyYvqA0PJQkqx1YB9LMQMiEbA1bqFuqzTctBuAjLQBMqZCNiRQA3EMSIgMIAUGtGGAe-SvCrIqbzTJ+AInEFyRUoQ9BAhaE4NtGmwBWhYAHvOEFWUizvXDA0wxPtd5+3iNMjQPcToaTDtXaW0coCxzWelegIRibp2Wkrb5Wd0xsHZBIaWuc4A-Q0FjcezlUqPK3lnF4wTln1wuuGFleLDGZTgJc6g1zbmyO+cDO8D5WUUJlcrVqCJSUSoymc5AEBhyzMLN9HY4rlWSkMoDXVyqZnSv5bKs1wkpoVPid8+gucU5pyRSSuV58ljZ3wLnfO04i7ekeBGDFthI6EtsEDZVCrYpupzknL1kj4DFn6BGE10YrV5JtRU7FVEu6tFRbAGVDy8VGuEoWoQRrnnpTHkwCehAp5CFnuXBeEJ7h2EhQ8Ww5TxYQiFRgW6OwGSBAYO2xJi9RL0ErILaGxBeWQWsbFRs9iJ1LSLtaZxEJ3FwTgIhIQE7rFnzLeszR3EN0jzMYe+RWguHTTxXAiAg79a8wwF8ipFjFDoWkZIkqPCwmdsTNSlisL754N0QQtpGceGznYe+R4ABudq+BbBBEYBuU8zYDDuIANTCLOtBYg9y82QSWdh4tRaenFr3eWs57C0AtxAZh1x90Iz1vbrzTZxBtndFgHMBk4jiiPtwUcoDkyQMkr8smRG0iL2ozqQkMMMG6rBh1jAFNlrIIQlyBx+wdGeOluQuxEQj5HyCCwHBhDgNWiaxwAwfAABHKiQDPg-skLQENEItGaB0CLICBh+GKwhAYRA3EISAXlAPPUBpqWmBNCAa0loLRaWnqEaeiBp72kdCATAOA8DdEUHqT0jBmCmhIGQUW2pyjRX4KQCOrhALTyg-jeozcvLVdq2gAzaAWPbKQeVtegaqu1ua+V3M81Gt9bqxwWw5smujfylESs8H+01LtlOfrxArAMFCHACAAAvVp1pp7TwAKTLcAVIcyWDdGVkdayA0rgYDLdW8QUIGEOxQG4IBVwzNfjEDu-QB7u0YAQErCQN7aAPtJGW3QQsFtYog8eGDuroQ-tsCiEkLBOhCgViOa0okYVlvynR92kVgFse3fh4j5HD37vrdhDYQgw3u1SBLBANknBlvtloJt0ItA4Azkez9qn1hnLDdmxgbgalYDNdayVzrK2fuAWtAAFi0HOCEAAJRM8ITupEzDAKigs1dQA15EDAkFgK-BLJBAyyl1uw7AMt3RYVQjMwB0DoQ1p8Dy5gFgZbrJoizaCFRwCABiMAABWUPofwemyc0H+XnBY+x+Wx2NACONrOUApaeS08leJ4wDz3aqfCCARDyHrPM4c89cdbPVW6hWdk5R5TuA1PBfbiCwwJnujmes9hBzrnPOG9N9py3oQwvRfmRJ2gcrlO-vO9gkITPNXBCtf81CwEZX1Bq3t60hfLX8a3Vp-NJg0vEhCvkK9xbOPF+79c4GNfPuZtzYD0IYPYBbd1e6zuR1ClS+1qEPL7-2+BsudIl6BAICh5BvFx9yt351sbYU5qtNIldf9EDZ5A1WQQxp5IIMDa1MD8BLRVlyt0lZ5LQQ9ECS9kChBUCMB0DMCaDa18A7kJcr8dhAxMlEBEAEcYAkcUdMlQhDYRUTYzZHhpcG8ClYA3tw4gNvs1tp9AdZ959I9Icg8YAAA2FQlQxgifHtDQFghFWCdg7vXg+Qfg02c2YQvnf0bgMQ2dRnagKQ37f7WQwCeQurCHaPJ-NQ1Q5QjQwQa-HQaHKWNgngvg42EwoQtfEQyw1pJIGwuwjgmfJwvbBQtwwPDw9Qy-TQ3wrQFYZdNfLQIA5eR1DANgOAU2NWSA1jQYQCUIa0YvbPOrfPTgNPV3PbQ7OrBvLbHbPbOoifGXaQhwl3XbAA1jbDM7AHR1EVGSJIqHSgkMa0LSEPSCeXLSRY5YugmomTUnTg8neWEYgoKjWHIfQYKQDsbbAAGRgB3DYGgCSG4C73Zx2JglCD2PNmGyOIug6POMuOuIKWWxwge2eIOMrEAjeJOJgE+IgCuN0R+PSJ8Nlnlg0FFneUSGSFyPyNMFAMTCKAgHhHLw-0mx6IaKaMGNaJ6PaO23T0VzLzaL5ye2gDP3e1hy+2pL6PiOh1ByZJ6M30d36Nnzdw9y91GycwmxGx6NcKhwZM+2W0G0SCH2UO6KgKFLQld0QJKN0RKEDzNE1O91oB5w+jmloGpmhxsh-2qNIPIJmKwMtJwLwO1N1K22GzG3NlCHflry2Pr3MIHzpzb0Z073hwMN715zW0bwF0HyBOHwrFHxLHH1axlipnhNaGl2lOG2tDlLnBTMQPTLnGUNL21PGyVOJ292mz93m1AMrDQKtOwLoL23kg2J6OgL1LgKNNPBNMtAzMQItIoAwK7PwGnhrO8NujXlcETLRJAIoMxIgOWw51cFZhnHT1zKdPUAaGVLnFVMCRSM8LSJ3wyOyRviTDX0JML2XOWyd0cKPMFLzKhwLKEAMAACohAThaBISERPgMAMJfghAbyDA6tBh8obj8TACNsCigtijSjGBltfhTziTtSKisA5cWj+z95r5ME6oMMhk9z6iC9AJsz5TnIeSnDKTYiNtySRSALgDCiQKcUwK6tFyqiQ9WyqTOS1hZ9qj5IcKOCuCHtRJu04BspYKKCbBtoQwzRp5WZKxazysuLlJeLQCBLGAhKRKLjayYydzkKhJUKijExEBnZspFUXCftvQ4JAB7cghEIo6PT3oqmKUI3K8LqyTKH120QO0gzO-ycoYuUvQV3MQG-mqSEHUoQS0rWCc10tFKjyh0Dy0nkgioioQt7V0RUjX3f16yGLsrDKGLioewsKsILJhK0O0XSq3QgGHMAvRLHPAOxPKLJNaUtAIvPKdI4BgrlxVNNjXISFapZxytcx0T0WSF0UQEcAewKmgBKFv0VNsGdJsHUD4uyq3J8Niu6oKqRMiW3Gl0dMeHGoavP3KJSvxPcryvmt0UWqkGWsOqPz0UNjPxCCLCiGWwPMAnMmoFmJaJRF-1YsPClIa3svotd1TNxKSp-1nnl1epio0C6pUgOo+S8iEGSSplOpPxFyJyWw6rmrBsKsQowWlz+NGIuzut9VsBuswt-xzLq1vJSDVloAt1cBFXP1CEtk4IAGkkhSh4NdpxAVwOl4BIRcQ-k8j5h-C1ZJRRDIbPy6sTyXdq9aApSRzyLVSyjfjKiSLiB6rJr-yKsK8gsyaFbVrLyltry7yHynyvhXy5hCrhaej2Lti8c5gCcsdEaejLaMdCdNrga9qUaoaVLpcfzqA-yRTdraBQaerUb3a-LExpdby6tysAAxCAaoHUscmzaO+AIQaxQPGdJ2BEONdSEoD4TYKxJoTZSsTbaAeQVednIujAfAJzSsIwE2XaEkfO7oHcN2DaJQM0S0aq+SRSHo8rOsHKFIKjIQHKTgasOOwIBOwEG8gBR4bgZvSsO8tO1SeNPqOIAE2wC3WgIQP7DpWIG2ZIVwf0FmH5JYdkd6M8ZmJOlO56nOxoAwVmeEQsfoWwVeSIeDEomGUqAwJgUId6AwDsH4LnRYB7BIascYcA3igwPROAKiakLSGorSeXEPM0L8no02qAosh-TgUIC6KyQCYmKAZsAFcORALB4BuAdoSsNDGcMgKDNWMAAADgoH23klyFIcrH20tGnkoagGUkYb8DYctE2EYeAiaF2hEfwF2nkgrsDQMHYb2yMDIb4bYengPJ4b4b-wUfYdFuIBUbbrUbbsUYpipgACEdTtHLRqiDt2HqjaHFHiT2GFIQ8FH5IcpGHcgvb8RYBFHqAZxTGS91Hp5qBuAfGLHLRFHbAgm-G3woBTHic-G9lE5TG2H5I2qEhYmR1E4U9GjCBTH5I+GDBGHnGmG5HWGnGexCzfd0GniYB+gigEbKnqmOTUHyn-cMG8jirRyJiS4J1na-b8rdE3aPKilvK+pg70K6y0HmnMG15qwcHbA8GIQCGMAiGpmYAimKGqGaH6GXGWHFHOHuH5JeG26BH5IhGDARHdoxGJHK7pG9tp4im-HlH9nVHgnFHNHTHdGQn2GDHdpjHvHHm27zHFGrGbGWi7H5IHG9GnGXG3G5AYBPHfmDniDnn2GAnwm9H2Gwm-nEWImi7ompxUn4N4nMXEm2B5o5pwWPnp44nMEHmEWcm268nIWmHcxnJFHImEmM8Q9OBqBLRXy-HOBTGTgtIKXiDTj5cKWYHFHtJFGQ9lCoBQh5dFGFX2H2HJWLHez5dQg6LNtcn8mXG7mSmlKmCQbenCq0LpddohTnSCgMBBM2BrWogzsoB3qht7KSC0y3XXcPXsKGLytj9zrAJLrog7cbtuTWS3dLRfiMc2nxjQq6D5c4Bun-aFrNM+ozW18xSg9OAzQs2s3fiRjWY6AKwgKCqHdnI5tAdE2TWobdkR1Ss6s-XT8EaL8ejWmyLgKZaqKeiaKFaIKBiia6yJq2gVbbrCacLNHAI-8cLErCiNahjKqEicKM2n9qBqAzQMA13frk8lah3XdrQcLJLo27rY3p5cDARChxBOc1ZK39rUaa34NXsTZAFpcl3A9XyQ82AQ9oyjWXaA7q34Ba3EBXyS5039KGA4IAB1kypG41m9xAR9oQ-AO9-ZWG-10oMya66Dn9gqqGj5FDxtp2zDnpm9w6xrfq8IWnM2aXad9a5WlEPdtyq-JtMIvSxQp-LSdj51mUsMhy91sdvCzSftiSkYxnbG2QXG+cta7t+jyUZq9U1Imyma26Jji2bSoK590D2fVdSWw9lICi2WurXt2fIY7dvitKpilW8doQMgn19QQBMAQsQ0-fVmNAW0mA-Uw02eaT6Tjsysy03A-A5IBJWeWh8g0IV6p-MAZQyLyL0WAgoLoQM0NsucML9sssqgisvzvA2LwLwxTz1Mk0-L4PKL4r7Lwg13LSRyxA0IfLnzjL-zxNugftFEtowsGprdJivNx4kTx1LpwjvtBgAW+DZa8IvnGQl3ZwxTiDD8KjyrSvTj4bNK7q9bUQm25t0i4toojt8owzlWidHaxj6RQEPptfBt+G6HTfBCw9bD1IED1jiUuHHo6dpwnC7aufRAirmzzGgtpzLE0c6ahUi8xqlc2Tiibi5cb0CTsaisRILWN7hjjIq7vpxZ+D+wEai8hkVjmYuYhY3-VYpYnAhgscYmEoqHPI1wOwS7w767pDQ0CqNHp0pdrH+YlYlnugm0jqmFzjFNzgUWQrJMdjdHLjDGQDgiYKyfVr2fQz7Ttt0qrEnEurLkyz9h-d-NiQH74t-74gTWFcNwsnyYjn9TIXiBODuEZjrt1Xwt37x1ebR4C7jq1wKwGbtWoQZQj18WhWl9tgMAL3r30y4injzrjK2Ag0+A6TlAtLkMYgnHqPyCGPugkPcS4Yrr87cY8T+3twderItfRX-j60BCh39em7ljtw+7hppPh7b7otkqzXqffjv-bfGMgvlIE3p9tfL7tXqv0cm32Zm7fssOnolXabNIMc2EIyO-Ys-usAeDLAe8x86AZ8o234fAOrXIbtKEIQd6BERmo+R85KcoDbTHWdEKf9+9wEby9+ROocqOmOmcQQU2gAARwESFSDFBgEP27RKBDHNpRyT1CFvquV4IQAZwiYJ4r9ySx8pysaNXctl06pVsoBYvYgI03vzNMm25RVrJAORq-t4B0ucrJZ0nY2d9Mu+R-hElSC+Rc8GTJooDVLwQDpYynHAbhVZLWdls6A2gVTzXwKkNqAfOrIQLQChYHMBRSLPJBixJZ7Qw4KgPbiiAmhUAaWZ0HgCcguQ9QuDPAFfSaD9otAM2d+vIN+BQB7+loHsvgHkg-1Ow2gp+rdE5B6gCk-QPAGKBxCiC7QQAA). A standalone working version is [here](http://osban.nl/todo/)....
Couldn't resist making a [split version](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHgCNaATATwD4AdNAAIhLODGrEI9IdSgY4cALz8QxLrQwAHLat4sA9OMnS0A4aLC1ajAE6z5ilSAhorewSJEstvACK0AK5ssAC0chDUANZC6kIwnBDEQhixGoa+nl4+vADCtjAYjJxCbNyiqYQFYM4kxFqIBgbqnLRYAG7U+HRYelowtFqwhhj6BpkW3r4AChi2ybRgFUJVMDWqdQ1NLW2d3W16ACoaALIAarkjYxPeBlY2MLbm3gCEoaFCAMrUthBaxHAVo8YPghAE0AByZIFLC0dowISAZMIhO9nqI3h8xD8-sk4LZqM40FwYAB9WGcQKwODNDQdajhNqwtAGNgKEEAKzgekMcGx-14qKyLAxol5v3+QjxBNUnIM2i0+E53KMfOIAtC5kMHB4vEoIHEsBM9AQiBAAE5EAAmACMIAAvhR0NhcKbyTAoIqEFQ6AwmMQ8D64Mk3VAhEohMAsjs4IghMgALoULKQKB2GNxrIiYApuyxiEAQSgUAhFFiMAAHsQ84Xiw7MxGc49Y2AMFBxKXGJXqyZ4RC65MG9Bc7FbIEYKWy12hBDcm0hjBin2sonk0Om9OayWsq2oLHiKPx1k-evrQBmQR2wSCCtaWjzIScNYYSnB4nkKgGiRSY14a2Wq0AAz2o6ICYDgeAYEaaBwJ6eo+owzCmhAWC3veIZCGAthtNO+AGCGEJXmggbJJB37QWGEZZK4SSxgAFAAlGGvARiG+DRhRABSnwAPIAHL4FocziLRUC0NQrafOotgYAA5iCcnEAAkowWC0VCGhwKEWBJFU0AQvRjEAD6GXG8b9iIcj0DAsblkxQhcXxAlCTAtEOfxQa-GgMkQGA3C0eWBlJhYcAYPCdGMUozGieJUCSXeskguISkqWp0ZaTpvzFqWbn4B5rjeb5tGsdGgVZFogRwIQsaxHZkYDsVGkCRVhC0aRpgwZZaAucQBn1m1xq5aFLn0Vk5kPlZNm1fWPlCP5YZKOGEI7vplEDiIDWtDBVi2AAopBLW2ZFQjlvsKGwMUFGsTuI1rUIV1FhRLz3VA9aXgO7riHdb5sRpyDlvGp3zhd4ZPd90Z-QDPRAwkfVQTBIXwgxo1BRZsBzOFU31WDGmXdjm34I2thzUdLwnVD50JDdXhfY+Ho7hR+5jqNF6ETed7JI+LYvikcN6p+vOmpap6IEBDpOuBpqEIUj62LB3r0Ah-pISh7M0+6XiYdhEK4fhgjIahJFwxhWFYDhcpwwRaCCMRQIYDLFEMZjIjnWkrTCOGwBvSIWQ23bJTho7R11dTOxoPgED+2CRQgkSADuSMDqHbFJLAbG-KpVNeEn5MLgkFEtm2MCw2RMHlZVtGh5nIihxRnvMxYWQFMQgS2MIwdeO0EAwLHGNHfW61qVLduPEQ0uPFut0DxChDWiW07RvpKPU14qkQq45XEPgXWx6EOxz+3y9eM+6hWNQFV7geS+HyIQyQTAhC0FAMt5gA6oQRRCF1CSAnEbAIm7MAAD8E9r5eHoOvQIVZ4h2STlIYgsAKIgmIHMBS+B2itjHFfa+9AogwG4K0WOaBYwIiDjNWiIJcHcFnI+ea4ZWLHnsAAMkYfENiKCFxoIwUg9ODFGJ+wYmNUB6CoBjj3BoMOcDYD9y8HaKuXhM5vTetecsBsHxPm5kPGWfN3RfnangS0AAOEWwFxYuhAFgDArg5Y0AVn6PA+tVboREJrU22s8Jvktg4+8-VyIuLNj4uAltrbGmDJY92s0IrMXbjbeA4l+gUUtAAdiyC7HYtcvZCEbguFubd6yd27r3NE1NV7GDIvgCxrgQHX1XhAze6gZIyTCMtUsB9r4RzzPUxpMBQjNOkSHbg-Q8zUCltEDg5YqmgOGRIXBnBYwbVoDBGA8JbB+UOsxMmc4KacDkdTWRWDilqXkH-LKq1QHOLvB02gDSmlFgmdgoiUBIhREKTzEu+AAFqWWjsmRpYIQnDmDEemChZCbNzovPpasPTRghQTNcRM1mQthamR4tCNy3KEIA46QgbKAy2ai1ihNvkiHKdoWi-kKAQEiRCqelIfqtFCI8oMdzQGr0efval185AKHTAAAwACTAA2WdXOJRMUQhzoubF042q9jtEIAVJ0I6op2OHEozDpwJCSPlPsPL9lnMEWcqeaCu6x2ZYau6alak-WuTAdlk9zXEAGdZacUzRm0HGXq81sgRkzJxRKhInrzX0GGRgLyzrA7MQCe8qytFKUcsPns+Ny9WUYGOfvegnAQgRGiC8tJ4Yo2dRcgFB0x1k7wJgPRQNLK1JsEgeoMOj4PK0G4Omh5TyXnzPhkMSILkIAUGtPRWRSaRCVuHRateaAN74E1cQO1Xrqb0ECFoTg0c6LAFaFgWRdkN0EzEhVBiVb7m1OITAjQZaEHhiQewzewjMFjpEPQEILcT1B3vV4Mh3E2Dsi-PgShcAK4aHovgWAXliCEEYq0+d76li0ReCqyR3DkK8NOVB6peMFm5W7dQXt-aiWobzRGDJqGZFvuph9BEkHiOIvBhAeMFEC2iS6gB1oeGoNRoRsNUjy8CN13tV6ojqGBP8cPYfHBeCCFEOga+vjZyyEULwdQkhC1EUMMYle2wqCn1E1Y2c8jQg5O-oU8SVFsTtAVtdrQdJb6DVetvc6+DKci4yd2TpkdHK8PfIUSzK2XUVGq05s+VMd0wnaMNCXPAAA2YWosQJgTMfcOw1j4J2OVqopxxstY6w8XrFW3ijZ+LcQEoJREQkYWsHYB2kSUM21gGAZIAcqudqRXYYmzFSa4pFUBkDMkwNZCyc3VuKGRD5J7hEpi0jV4JZHlN2wZqp5wEEhIjQDJAgMDmyvNSTavJz1q8QXhpYeX6ZUgK3bgdlPWgxdOCEUqISBLlbtnlELR32tXrSwmgTSwcoJXCmCFitCtcyc58dbKRMbaWnO1DXLFBzO+oTVFJ04fqtuzoyQCR1ugODY8nNY2g7feRfYcMCO4UAG47r4CwpAxKC41IGGuwAalLZ2HqQn9WlhOkz1zQgdMecDU1yAaBOAA6FdDbZQhmEQtXrW4g9buho1sAyYVi4Wkcsx+2157VZeFFsBCktM45cgsV2jzz9clG+dUQF7mM3Qu6J-ILC0MXTF4CS7YxCLhcuvlphrE2ZtdZoC8YbEuGXXG4SKzl1RmiUVB7NhH2bYfHFhOpgVnWYTPHu7Kw8ewUe3EzeK77HQtcsjgL91AiN6uBrUT2894bJqXnIHrKpGPlbAfFPQzBbrYGhDMQAmLlhqkKloCryvVvwGmA9cIJ3oQ3f1WqRm5neM3nBBYHJ0ERgtFWhnxwAwfAABHMcKzPgo6kmpOlmgdCL2nAYTcLSIQGEQITCEsZ5SyOtwLEA1oAAsxixagWdE76gig4IXclYQASAyAgptRyg6p+BSAUFXBYwAJicrx6g-Z8p4DEC0BTcpd61VpoCLENM4DJ90DoDBJOBEgvI0CkCOBbBn5CDKDIIogZIKcBdYwiQuoiDiArAGBQg4AIAAAvZ1a0ACACAAUnYOWSkBih6UeRkkk1ZANFcBgHYM4OIFCBbG0igG4FjFcCll+GICUIVlCFjhgAgBkhIC0LQB0KSHYLoFElsHMMsL0KQMMJgDYCiCSB6R0C11DWwxYKsnYPlC8KImdVYMUKcKMNcPcOUO4NhBsEIFQJSAYAgFbCSPEE4HYK0loF4NCAWXLFUIMLgBiLA3iMYIwG4F5FbFCIwMIggJwI4IVljA-y0FsghAAAl3R4QJDUheIYAxw542ioAOjIgMBSx8xfhWxSwQpoJuDHgfJ2DHkupQgpYTCzChBrR8B38YAsB2DWRohGCghmChAABiMAAAVlONOOsMfguSOPf04FuNuPYO0jQEMIjjA1jCFgAiaMeIwFyNjleKqiEBOJOM+PLG+PwMk272PloHSPCLcJUKiIKPKziPIISKkGSLZDSKcNhCyJyLyK4MRNiOKOkjKJikqOgKiKMOWKgVPCEPQNNzvz3UBCgPUEgXmOdQQIXzDjiNIKYFqMSAW3kE0M-j8M5JP3lFqJ2IYKYNmSOLADlLBO8kkzPBBMnyEHfxVI5KtnqAWS1XoFjAKHkCkHhG2PdW4PfgIXgKEEtCaLVJtO7w01ZFogAlLGdMnxdPwEtGe2gK9W70tBOJtOBLtKEAdIwCdJdPDMn3wAHTpMIjFPz2PUQGcIiJUNqVCFvmwwfifhRWZIRMdVgC0OQSx30K4MpNMOpNpKQJsOuMOJgAi1rNrJjJ8zjK0H00nUgUQETOxLTPkAzMfnthzPyLzOdSSGSOoGLJUNLJWJpM1OgKrLsKOPrLrIi0bMEGbNbI3g7NTPTPvj7OzKQNzO4HzKO1HPHOcKpNjGnMuNsNjBrKXIbNFJ2HFJnlqNvB4LIkfzYDgEfkp3YPUAaBRGtCBK+KQL+M4DeNWKENEP3PyL4IEKEOAq1IpOMLLIaIrK1KZykJMMk2w19FsCvOuJDNomtESRONLHf0STIoosjMAvohhJcLhN3grBUIKAFxmJRMGCkG0n4IABkYBvI2BoAkhuB0iuyMKWKZZ4iOLkJYLeL+LBLHVfymLQhxK2KZJYwpKuKYBZKIABLHkFLRTt5d4NAgpp1EhkhmTXzdTJMDSigIBjSkC8DFSKCtTQLwLBCRDTyeD+D3j38ELySDC1DoAhTtCZjHDEKDDJyoEQrdC5iFDFjkKVi1iNitjKC7waCZziA5z7DQr2CSCyC1KhAIs-LiAqCaDrQbSvzHkShDizRaqTTcjKo7ZaBRtXAkpVTQhyrbJ-TbJ7SZJHTXSBr3TPT6ruC+D4jSrHhQgxk6Lky8SVCCSiiUTQ00THkMSRLMjsi4BciETCjkSCqSiSSKiVyw5DK0kLKUCUTrQirbIrqbTbrbIIsQSTTqD1wQjtj6C9jVsZTCLBq3TIyhDTxaLUqGrzTmrzC2ru9QhrSbqbSfqKBnSEb8AAJAbjqSVXAXydT3zgz3RbL7KtSsjXBHxyx3jnqZYjL-zOrJRH4lVbzFzUbOkblQxmTXKATOr2CliULVjiqJr5y3qhADAAAqIQE4WgXShET4DAFsX4IQAWgwJAwYSCIS5y4gzG0wD8yqn8pA34Tm9yqCrUjgaXNoVCjyh8q5LpKQ0MBnI5dWZm-42MR64qjmqc3y0E6C-E2C5W7Ut8tWlIT878xgX8wYWMUIE46GuYtYKBDq08YqpMhi-cUNOAbaLAfUmwaOWiM0ACR8GSIG9C6SaCJOlO5BVfDOrOnO03a1c2+mK21Nd0RAP+baCjSsoAvMQAe3IIRPKParSw6m7ryFy7zlykC8r4jBCbSkk7qVSx7XaqimyGbukdxEBXUZkhBq7jk661g7xG6tSsqjjElTxd7d76bltGVzKHLYCITcqLqCqMrj7uChzfC2DTb6Vj6hBHkMbva9TsbDS7KyS6j3bvKrSXbSbJqDb1Bk6ubbJKqaaEhoHMTp7VydgGUIAgwX6IBEBHAVDhloAShmSeapqbBQH77Kjy6EHn7HlTKtUvIJS0rgH8GjbhSH6tSh6UTNTiGj6kHkgyGZ18ohByGT6tT+Tb4hSQgxIoh2CWbYwYpqAiLIKUQ1To6AoL7SDh7obVjrqFSCDu9NG5GELWGn72GUHeHuHjVu4+SkHBHCHD69HkHX6K6EFmSMLkiZCJGGExG7a1SnqkDBaUhIFaAJjXBsN6HQgX4XCABpJIUoLCWOcQWwQEVoeASEXEJdVRWpSUPM7h2WpAp2qBKE3K1Wj+1NDWgOpAv8z2kBuhjKxyggqE2g-W6h3mvw-moWkWsWr4SWuYCAGWuWrU2O9wgIuYbw4IkUrUvpvOnw+hoh2Mkh-Rmx2e2ohW6gJWmp3R2gRB6xjp2xhEFem2zxgWpA6AgAMQgGqHdWxt3yOfgCEB5UOMO1-gRFM36BKA+E2BjCaFrRkl4OgHkHKUyM+YwHwDvBkiMAfljhJDee6G8kAQjiUDNEtEtHf1PHPC1OgMUh2gSJKB2k4DklOcCHOcBAFqWUeG4EWpkiFtufiHKIebSGxtYtsAmMsyMPGliHfmSFasYDtiEEWCEHZAqmSDAwRCucOyeely0BeYMEfHhFEn6Flm0h+AWUWE3h6AMCYFCAqjwkiCwi-Lq1CASDknGENKToMCQbgDHGpESUAsSXfxOLNC6egIyf1o+ulNCGQgSljBbigDUhXWQUQGdd1bgHaBkjp3LDIGJ0gTAAMQoGENPFyD9ZkmEMtAAiDagGgkjb8DjctE2EjfzCaFjhzfwFjlPH+Y0wMHjaEKMH9bTbjYAhZpTbTfVIrfjayZrdhbrdhcrZGwACF3Um3LQOqRD42OqDFK3db42zwTiK3TwdpI3cgFn8RYBK3qByxu3gT62AJqBuAl2+3LRK3bAN2V2UwoBu2QiV2m1cFu243TwYGEhj39xaBcEXiwLCBu3Tw02DBI3J2o2y3Y2J39J3rdjHWCh+gihfDlKYBAOwroDJTPqBc0y8nsKGEX6I7LGVnSH1nZ6F6fU84tmma6C-39jOAnWLE5JXXbB3WIRPWMBvXCOYBP3A3g3Q3w2p2Y3K3E3k3TxU3YWM3Tws2DAc3Y482C2AXi2hCAJP2V3q22Pa3N3K3G2JPm2pP42O2u3ZOe3BDK2B2h3IKR3Twx3W2J2p2Z25AYB53F3lPl3W34213d3zOAId3TP5OAJ93D2rJr2sJT3lPz22BSC7YdOt342T3ulxP2OhYX232p3BIwNK3HP3OhYTjOBqBLRJaV3OBu2ThElfOAI-TuL390uzXK2klK2TiIsoBQh39K3Sv43428u+3kb38Q7LReCQu9OP2mPv2y7Jm2G1mX6a7sOXK0qpqCgMBnkInCgogLbFH8qGjurVipvAKbSHap7oCBHBTYxhHohYqFismGiPTfy8737sKrj7AAJ1i4AkPVmOGIAOsLpraevZyDubzOAzQHuHvFLKxQhHw6BpIsa2Td4qgghTDTuUOeHG0b3ICkClvSiLHB7YP1b-af6SmanoDtbEqPHanDawGMrxH3HHaEqoF1TirKnJNqmMqETO6aTirt7DjqBqAzQMAaf1HniymwHrQ2bindurKJGDvIzLRARChxBsjIEAfpn1ngesJNCH5llaiKfJaTi2ATiJmZ6Ovzugf4AQfEBJaKtmTksGA8wAB19ux+5DoXxAcXlFd5FX0X0xgUiH0oaKURg3s7lBnhmdS38x8ZwXtZwx8g9B8IOIp+WognvBtH4OlnuBsOGbSXu7nexJRJcb4elU2bhbvl88q0lH6Ahx6QuD3CoB+XeHymyB6qxc+80P3dDPNehuiP30bXq7XJvbmHkRIprUpHqBDKxnz23bT2zbwE1P9QZZMAUSUbbkx8NAEaxqi01UymymuGv6gaj0r05Ic1bvAxIM0IeR2UiLMAdfiLIKb0hfoQM0O6m0lf2Gvq0M36mfz07f+fw1bve69q66tfjfjfy-n01YxJUew-+-qfs-2f07ugVbPh8kqJCA4Ic6sL3FQo40ky7Zf++xXEDe0oYDkSyOPC8mhXLrvZ-eZ9T2kwyvqxUgwt9Q8oMwYYq1a+vtQpj-Sb5t8I6zlVAT9kd7MlwewVNAGyVRpoDX6qQTXpH2ipWFT64JC8sVSwG8DbIb-RPhhXe7xQsab1VKi9XnJ59qaJQeOtBEEgsVwOJVOpspTtgQBz4QgeRswJoGsDjecIPcrUykEMhe6hFYiqRTVJUVyK7paMj7Bbhfl5yt4VwHYB0H45AQrA3KIfjzg4NVB29MwSRUoqBCuebXJsoZzmAK4RcQUUAqGE1zhD-UsyGVJvUAGaAoETfGvuz0-q40f633TvvG2KoiCJAYgn2hIK3r2DriTgrPqKTCHy54h+giXvYyUqiDPuPtL6o8CYGilXAVgdATwMKpTcie+FecocTYBgBhhwwjuv-RHrCClKo-MGuPyDKEU-SFgxYaWGWGRkTiOdNPkpQgHONKhxfToZZhbLMkchSA1YqjX2EpAI+vdTgcoIKEfdbKH9Eof5UQHJ91SLDWMucIo4m97ADQ17k0PuGSZWhJHBQsdUFpIEWi9BKljCAMGlAHWeHKPM02gDi02mvwfAEgVyChooQQgCqAiHCaNJRaO4coDwSCJHY1ETaMot6mmRjILm6NQ5sc3LCCA7WAAARwCJBUgYoGALyVDQlBaIPTFQk8Te5LIe0aZCAOWHdBqDvwIsCDEgQ2YW1L+J+B3jMzNp2M9mJVWEV9Uh5alTc0BeUYDw2a1FoCnfPHon0USERmRmqVIEVB+L3twK8LEElKK1Il8NeKozvoGWNGERtRaA5khB1oZM9u+JotAC-nCymhTwloe3PaETAgB5iUQE0KgB-wSxzEGUaAHqDdZ4BnmjQAwKti0AMFToarMDJlEZGWgka+AU8LmN0gegni1iR1P0DwBigcQ4Yu0EAA) 😉 And if you want to be sure that only actions (controller) can modify the model: [flems](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHgCNaATATwD4AdNAAIhLODGrEI9IdSgY4cALz8QxLrQwAHLat4sA9OMnS0A4aLC1ajAE6z5ilSAhorewSJEstvACK0AK5ssAC0chDUANZC6kIwnBDEQhixGoa+nl4+vADCtjAYjJxCbNyiqYQFYM4kxFqIBgbqnLRYAG7U+HRYelowtFqwhhj6BpkW3r4AChi2ybRgFUJVMDWqdQ1NLW2d3W16ACoaALIAarkjYxPeBlY2MLbm3gCEoaFCAMrUthBaxHAVo8YPghAE0AByZIFLC0dowISAZMIhO9nqI3h8xD8-sk4LZqM40FwYAB9WGcQKwODNDQdajhNqwtAGNgKEEAKzgekMcGx-14qKyLAxol5v3+QjxBNUnIM2i0+E53KMfOIAtC5kMHB4vEoIHEsBM9AQiBAAE5EAAmACMIAAvhR0NhcKbyTAoIqEFQ6AwmMQ8D64Mk3VAhEohMAsjs4IghMgALoULKQKB2GNxrIiYApuyxiEAQSgUAhFFiMAAHsQ84Xiw7MxGc49Y2AMFBxKXGJXqyZ4RC65MG9Bc7FbIEYKWy12hBDcm0hjBin2sonk0Om9OayWsq2oLHiKPx1k-evrQBmQR2wSCCtaWjzIScNYYSnB4nkKgGiRSY14a2Wq0AAz2o6ICYDgeAYEaaBwJ6eo+owzCmhAWC3veIZCGAthtNO+AGCGEJXmggbJJB37QWGEZZK4SSxgAFAAlGGvARiG+DRhRABSnwAPIAHL4FocziLRUC0NQrafOotgYAA5iCcnEAAkowWC0VCGhwKEWBJFU0AQvRjEAD6GXG8b9iIcj0DAsblkxQhcXxAlCTAtEOfxQa-GgMkQGA3C0eWBlJhYcAYPCdGMUozGieJUCSXeskguISkqWp0ZaTpvzFqWbn4B5rjeb5tGsdGgVZFogRwIQsaxHZkYDsVGkCRVhC0aRpgwZZaAucQBn1m1xq5aFLn0Vk5kPlZNm1fWPlCP5YZKOGEI7vplEDiIDWtDBVi2AAopBLW2ZFQjlvsKGwMUFGsTuI1rUIV1FhRLz3VA9aXgO7riHdb5sRpyDlvGp3zhd4ZPd90Z-QDPRAwkfVQTBIXwgxo1BRZsBzOFU31WDGmXdjm34I2thzUdLwnVD50JDdXhfY+Ho7hR+5jsjWRwEMkTWUIEB2RttDw2z1AuRAFDWvRKOlFAgS2HRQtpK0EXMXV1M83AyAQPGFH9dB3SiV1tE7FTXia-DQ1IxYY1JSmzbQNz32ExRKYXoRN53skj4ti+KRw3qn5e6aloAOyIGewFOuBpqEIUj62LB3r0Ah-pIShLs0+6XiYdhEK4fhgjIahJFwxhWFYDhcpwwRaCCMRQIYFHFEMZjIjnbLMjhsAb0iFkVc1yU4b10diteDsaD4BAPdgkUIJEgA7qb1ND2xSSwGxvyqQbIjz+TC4JPbrbiLDZEweVlV6xoaBr83wit+3QjX1kBTEJLwgDyI7QQDAU8Y0d9brWpEc148RBI6PC3LdH+EJCDWhLNOaM+kxbUzAa4cqxB8BdSnqEHYUDn7wJEM+dQVhqAVT3AeOB2ChBDEgjAQgtAoBRzzAAdUIEUIQXUEiAjiGwBErQuoAH4QGkK8PQRBgQqzxDsvPKQxBYAURBMQOYCl8DtFbGOEh2D6BRBgNwVoU80CxgRP3GatEQTqO4LOR881wysWPPYAAZNY+IbE5ELgUUomRK8GKMW7gxMa-DFESw5uIxeMBv5eDtOfEQBs3pvWvOWPOD4nwez-lHb27ovztTwJaAAHIgICDpQ4uhAFgDArgY40Djn6PAudk7oREOnYumc8JvnLpU+8RtC4Z1wkbculdjTBiKZfWa8tVoWR6fEXk2g9FCADlkJuOwKJtyyHfBcj8hleFfu-T+aIlZqWMGRfAhTXB8NIapCEQjkHqBkjJMIy1SxYOwaPPM5zLkwFCNc4Jc9uD9DzNQCO0QODlkOfw75Eh1GcFjMrfAMB4S2D8odZiZM5wU04GEkJos3l3TUvIDhWUVn8O2g82gFyrlFgBaQ+gERogbM9gffAXCXJLWJcikQDppwnDmDEemChZAIq3rAtFys0UEzXETWFKcPR2wWotTcQhuHHSEDZQGiLzGisFamR4jKhB7O0LRfyFAIDyzRWAykP1WihCgBAIMJL+HHLNZgg1pC5AKHTAAAwACTAHhWdLeJQZUQk3ouOV042q9jtEIN1J1R5Kp2CPEotjpwJCSPlPsTqVH8Jvimq1akFFvynpa1NCC0BIJ+oSmAtrQF5tiB8jmvqflRD+bm8tsga0JHlX6hI6by1ksYV5DmfdmJGxpVZWieq7XYNCe2jNEJMXukwfQTgIRyVREpbM8M-bOouQCsyk6EjYCorLROtgwj1DD0fB5Wg3AZ1ETNRSgZdl+2syvYLeioSR1eF3Q2-Nhb43EFLe+gRaBAhaE4BPOiwBWhYFCXZMDBMxIVQYuO0laBTm6LERoBekiJkyMccg3xyiX3U3oCESWyH+54fgQY7ibB2RfnwMYuAJ85b4FgF5YghBGK3N-ZzJYtEXhRu3a45C7icUcepne-mj7SP8OXRGa+wmmUSfgR9BE7HhP9sI0TGW+t5PYKk-Mvd5aZMcYMw27x761EaK0To0RJG9P8IMUYjRpi9ELWVVYximHbDyLU7PWTinOOzXsyY4kSr4DiX6IxHTRn9PwewTh-xqG+OkefTZoQ6rwlouRREx2FcuoxOTm7Z8qY7p9OSYaA+eAABs-4ckgTAvk+4dgSnwXKYnWJ1S2l1Kzo0nOScWkF1qSXTphEq71ceHXQZA8q6wDAMkXugzwWE2JsxUmCqvX0UY0wGSLGFkWHvssrBayP43sisE45I3o5nfreiiErMMDDx2AyQIDBLtgNPV5KBU3iDuNLE6zmKk3Ufb7s5600rpwQgDddvsQgPtOvS+245RrCZwCgXa1iiPNVaEW0IF91qIDPfgccjAP6OMOsUGC22QqlUnTtrG67KTJAJDx6oy9kRF1HYVnehcKZ-IqrsPRAA3HdfAWFhGJQXGpAwYOADUx02IVh6pF-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-XtX3H433EA02k-2Onr4IEGNv2SOf1cNfr5QaoHYKPmpKNCP2McNSPQOe1SLyn6XMVmGaNWLqOB1OnB3Clq0pDCK0BHGuACzML0ChB0LxEADSSQpQWEU84gtggIrQ8AkIuIAGsSpykoO5LjRtIdFVIiZJLVtN1tKQydEsqd1B3NcdJBmDLDFtpBxJUBcTnT3VDD64ytMTmt2tXwetcwXM1TwpRdSR2RcwaRIDBpwpSz0kuRXj7DtAEDjjXM-jd9JBpt1A5tcdEjPj+zGqvdQgl9qc8pat1BJBAAYhANUAGfTe-m8-AEIE6t8T9uwgiCFuMiUB8JsDGE0AejJOodAPIHsi0bCxgPgHeDJEYFQlPCSFC90N5NwqPEoGaAvbY+eMKSQYpDtNUSUDtJwHJJ84EN84CKrZCo8NwPSTJOrYC6MqFtvHEIZY8EcbQEID4eNLEIwskK4EGJHEIIsEIOyBVMkCxgiH8z9mC5bloBCwYI+PCKJP0NHNpD8LzIsMgj0AYEwKEBVHhJEFhChdNqEAkHJOMD6eXQYOanAGONSP7Nhf7AgX8WaMbcKXM10zDeaaEMhAlLGJLFAGpEBrIogKG-a3AO0DJJLuWGQHzsImABkhQLoaeLkAmzJLoZaABCm1ANBNm34AW5aJsNm-mE0FPHW-gFPKeMix5gYIWzoUYImxWwWwBJLWWxW86V24W6HcQH24S3oQvd2wdgAEIBmjuWizXjsASzUZLdvxWFtnh-Fdung7TZu5CnP4iwDdvUDlhzv4mDsATUDcCnvjuWjdu2DXvnsphQBzv5HnunrqJzsFuniEMJBvv7i0DqLwkEWEBzungVsGDZs7s5sdv5vbv6TQ3vHBsFD9BFAZGhDIeFAlWBuIefGcDNmNNwNsV2BQ653eO7OcMHO92n1NolB3P+3o1Bu4chuFJyThu2CRsQjRsYCxsscwAwfJupvpuZu7t5vdvFulunjlsL1Vung1sGB1tTwNtNsouts6EAQwfnu9uSf9s3vdvDtzsDsTuFvTuzvacL0LvdvLurvEXrunibsTvbu7v7tyAwBHsntmeWhntGcXtXsedee3uFv3t+e6eFtPsvtWR-tYQfsedftsD8E1z2cBcATvvPJadSfIngeQe7uCQsbdthcxfIl-GcDUCWh63nucBzsnD+xJeecqUIFJcevdsBzdt-HlZQChAIHdudeFuFtNeLvh2Z2WjqGZeOfQeidwfd0VkONQNcx+3jFTwMP7UFAYCs5sDLdRDe1GOiN-ULX3G7fYURlg1dWKPyDKPRRqPUFlXDtTEpnoWbOwOsUgn2AASPFwBkd7MzcrYXRzfykP0-GcBmgA8A-WWVihCPh0DSR01lUsbC7+HvcUcaonr-tEHakeOnfbPx0EeWZJ221tPCkdMMUO10VRNdPMOu1DMaORNdXXdU8H3sFkHY+DMMU0nkVAVdV-ffHUDUBmgYA8+WNwndPk-WjS3tP3dBWaNPclmWiAiFDiBtHCLw++MHNI9YTOFUJQrjEc961-FsB-FvVTeXMzeI-wDI+IB63Ee-cT3TgADrM9OzH35DiA6vo2NKJvqv7jupZ3qjivVz8j8pJ3epyTazFz5HSvMjdBVD4QlRNCX9DPAjPTWFVF71zelvy93x-sGfW3bVbtwNC1MttTSJJPjFoPdRITsgYTwhIztuHTc1kofNQ1EFa9xD0GDwUsI9t9mvVvEIdvmPD3NtKdwjRPIiDFgv2DADudvTNPOZdP6gUKYAokh2lR-BTAm1QZk1jptftfRNSNq1KZaZyQ5a6+GSuZoQBjlp5WYAF-5WQU6Zh-QgZowNEZp-hNy1BZiNu-qZN-B-ea6+INM1AN5-S-pfy-4Zl7i-sbek-wAHb93+e-d7nQEez+VPyokVDiR2mwg87CpfSzB9jgGfFcQ-7XhluQKpy0zyhpRHLH36ZDM-6JjABpA1ULAMMeltcXs01x6D9Cq4-abNFWT5CpAQ0Df3mj0D6uAlSHtMgdA1SCp8LyTVdwvz1PJdUqBMg2yOAJn5BNwe8UOmmw3RpV8eauDeviOFLqCRZKWHYZrVVtzSREghCIQHY1IHcDyGKQJ3nCA-IaDjBDIZetxV4r8UnSIlQSsmTLKdxJYKFCIreFcB2BhB1g0QblG-zbx6GTgv7q4L4rCV4hUvSbvORc5zA7cRuIKHgVDDW5UhraUFEGiOZKFkBIiIfg0z77wNGawjK7gX0mRF9lBEgVQU03UEkECE+TC8oEPYoe0UhtuXIXYI16BMmKKgyHk0zhqPAhBhpVwFYHIFRUhA5WXbmSSGYc82AYAJYUsNnqs8iKXVIJmv2xob9cy3FTzu4IOGlgjhJZP4o3WL4YDTCrFCvs3wmECsHy8pKoYVWtAe07hKQTvsvUkExF8eAw+oUMLgZNCRSR5aoc6XEZqk3h3HZ3vYH6Gg9BhoVOBiMPY5WFKajzYUnMUkJpB6asIeEKUEY5w188EzaADrWma-B8A1BXILdihBCAKoCILJpci1o7hygahXIr9jiSnpBijaYFH8h+auAhArzd5uWEEBzMAAAjgESCpAxQMAJgBS1mgLM7CsJMHpCnZjNkIA5Yd0Oh3hHZI2M1BQ5t7S-4L4HefjG5vKWw5mlcODA4gEwRIIGiEehzcYiQRp7OkuqkSQiKKPjSpAioGJIDoRVsYEltRwpFvhbyeYKtCq0-RQlaOQRkCTRwzQRhsJn4ui0AsBMrKaFPCWgY89oRMCAEuJRATQqAVAmHAKQZRoAeoCNngHBaNADAj2LQFIVOgWsYe0AYUZaDJr4BTwdY3SB6FhIlJuy-QPAGKBxAZi7QQAA).
@space88man I'll leave the honors of adding it to TodoMVC to you (you can also wait until @orbitbot and/or @StephanHoyer is ready with his version, and see if you like...
@space88man Found some bugs: some actions weren't saved properly. Here's the corrected version (only actions can modify model): [flems](https://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHgCNaATATwD4AdNAAIhLODGrEI9IdSgY4cALz8QxLrQwAHLat4sA9OMnS0A4aLC1ajAE6z5ilSAhorewSJEstvACK0AK5ssAC0chDUANZC6kIwnBDEQhixGoa+nl4+vADCtjAYjJxCbNyiqYQFYM4kxFqIBgbqnLRYAG7U+HRYelowtFqwhhj6BpkW3r4AChi2ybRgFUJVMDWqdQ1NLW2d3W16ACoaALIAarkjYxPeBlY2MLbm3gCEoaFCAMrUthBaxHAVo8YPghAE0AByZIFLC0dowISAZMIhO9nqI3h8xD8-sk4LZqM40FwYAB9WGcQKwODNDQdajhNqwtAGNgKEEAKzgekMcGx-14qKyLAxol5v3+QjxBNUnIM2i0+E53KMfOIAtC5kMHB4vEoIHEsBM9AQiBAAE5EAAmACMIAAvhR0NhcKbyTAoIqEFQ6AwmMQ8D64Mk3VAhEohMAsjs4IghMgALoULKQKB2GNxrIiYApuyxiEAQSgUAhFFiMAAHsQ84Xiw7MxGc49Y2AMFBxKXGJXqyZ4RC65MG9Bc7FbIEYKWy12hBDcm0hjBin2sonk0Om9OayWsq2oLHiKPx1k-evrQBmQR2wSCCtaWjzIScNYYSnB4nkKgGiRSY14a3WxAAAz2o6ICYDgeAYEaaBwJ6eo+owzCmhAWC3veIZCGAthtNO+AGCGEJXmggbJJB37QWGEZZK4SSxgAFAAlGGvARiG+DRhRABSnwAPIAHL4FocziLRUC0NQrafOotgYAA5iCcnEAAkowWC0VCGhwKEWBJFU0AQvRjEAD6GXG8b9iIcj0DAsblkxQhcXxAlCTAtEOfxQa-GgMkQGA3C0eWBlJhYcAYPCdGMUozGieJUCSXeskguISkqWp0ZaTpvzFqWbn4B5rjeb5tGsdGgVZFogRwIQsaxHZkYDsVGkCRVhC0aRpgwZZaAucQBn1m1xq5aFLn0Vk5kPlZNm1fWPlCP5YZKOGEI7vplEDiIDWtDBVi2AAopBLW2ZFQjlvsKGwMUFGsTuI1rUIV1FhRLz3VA9aXgO7riHdb5sRpyDlvGp3zhd4ZPd90Z-QDPRAwkfVQTBIXwgxo1BRZsBzOFU31WDGmXdjm34I2thzUdLwnVD50JDdXhfY+Ho7hR+5jrDZHw0NSMWGNcBDJE1lCBAmPUxttDw9z1AuRAFDWlTXj9dBg2I9LY0hIEth0RLaStBFzF1YLePC8gEDxhRssdaJXW0Ts0siCb8vDcjWRJSmzbQHZrGExRKYXoRN53skj4ti+KRw3qn7B6ap6noBwFOuBpqEIUj62LB3r0Ah-pIShvs0+6XiYdhEK4fhgjIahJFwxhWFYDhcpwwRaCCMRQIYInFEMQLQjnRrMjhsAb0iFkjfNyU4Zt0dOteDsaD4BAw9gkUIJEgA7uz1OT2xSSwGxvyqVbXdT+TC4JB7rbiMz7VNZVFsaGgu+TxRvejVkWQFMQKvCOPIjtBAMCLxjR31utNS8dm6PCIAnR4W5bqAIhIQa0JZpzRn0ijamXhVIQlcOVYg+AuqL1CDseBH8UHW0COoKw1AKp7gPMgohIghiQRgIQWgUBE55gAOqECKEILqCRARxDYAiVoXUAD8kCaFeHoBgkhsYERHTXlIYgsAKIgmIHMBS+B2itjHNQmh9AogwG4K0ReaBpG1RmrREEejuCzkfPNcMrFjz2AAGSOPiGxVRC51GaOUdvBijEh4MTGmIjRUAxx7mvuvBRMAAFeDtLvEQisvb1y6uWUuD4nyB2AYnEO7ovztTwJaAAHFHB0McXQgCwBgVwycaCpz9HgEuWd0IiDzlXAueE3x1wafeE2Fd864RNnXBuxpgyVOECPLWq0LLDPiLybQMihCWgAOxZE7jse+fchDPwXG-SZXgv4-z-miQWaljBkXwBU1woiaFoMkVg9QMkZJhGWqWQhRCZ55nuY8mAoRnnRNXtwfoeZqDx2iBwcsVyxHAokHozgsYhYwRgPCWwflDrMTJnOCmnA4kxPoto45EJ5D8KyrssR20Pm0AeU8osEKdFESgJEKIhyg4s3wIIlyS1qXYpEA6acJw5gxHpgoWQGLD5IL+dnD00ZxUEzXETVFEqZWpkeLYjc1KhBCOOkIGygNMUqrdrKrlQhznaFov5CgEAtbiugZSH6rRQj0qDDSsRaD6UEKtTQuQCh0wAAMAAkwB0VnUPiUDVEID6Li1dONqvY7RCH9SdGeKqdjTxKM46cCQkj5T7N6vFYihCBLzdA9R39F5OsLXdNStyfqUpgG6qB5biAAt5mGkFUQwVlvLbIVtCRtXhoSLmzt9BgUYC8rzUezEbZstoha91RDYkDrzS6jARKCH0E4CECI0QmVrPDDbTqLkAo8pOvI2AuLZ0oLQWwEh6gp6Pg8rQbgq66UMqZTbLm9KxbTvorE898SF1EJuWgTB+AM3EDrZ26m9BAhaE4PPOiwBWhYFiXZRDBMxIVQYv+2ltyTGyI0BExR4ZlHuKwcErRv7xFoGVqreI7cINeDMdxNg7Ivz4EsXAK+mt8CwC8sQQgjFXn0b5ksWiLxk0nu8chXxJKhPUzfaLcWhr6M7ojBs2T3KKNEI+giQTsmbbUenR2DQSmIMqYfvWztamhNWcs1hohuj9GGOMbRsemmGMiYsfo6xMiFoKocYxYjtg1EGZM2I7TwnZqeascSFV8BxL9EYmZmz5aC2drI7zcTG8okWZQT+nL8T3WGuxQktAb1rwpKzv7Z8qY7qjOyYaFm+TikgTAmU+4dhqnwTqRnVJTTemtMLh04umdunlxadXAZhFG7teVeM9ujdYBgGSHNo68LFV2GJsxUmOrg30W40wGSfGn4WBfjswh+zf6zUtbdNBM2k53Y7RWiEXMR22toAyQIDBHvQPvV5eBi3iC+NLN6vmKl-UA9Hr5606rpwQkjc9vsHc1jEG9eKs99a0E2sJnAeB7r9VKtsDBCpWhNubPy0911dnUFqQwOBoTnrFBwu+u7Ba4YTruzTc9nJkgEjfdpZuxlV3apvoXCmfy63Hj0QANx3XwFhEhiUFxqQMHDgA1MdNiFYerJbEUezXlZQtCBM0Vhda3IBoE4KTwN0MsVCGceKy9176DdDRrYBkQbFwvPdUOj9gu92u-FTymcrvhUe958Vx+pXvYVfvFVwOd36u5J-KaS0FogIlNAs6PAnXamIRcCN18tNc6V2rkXNAXSy4s36xN2uw3UmZOVdXtpDfbCdIL7V1w1NxttIuZCOvWc7vNJL20h7U3pnynvlkCR5eqxC6OjbaigP0efxLUy5A9ZVIt9xWT3WtM3swR44dwgQhmIATty41Svfl+oL1gfg7fGT9CDP2m1Sd3pbxkSYILAcugiMFoq0chHABgfAAARzHGRU+G5ykjUje3lCQWnAME3BeQhAMEQEJghFjHlFiUTzDhAGtAABZmtSls9qBFA4Jc904QASAyAgptRyg6p+BSBVFXBYwAIpcrx6gh58pWD2Co8kkr1iAb1VpGCKkgsWCn9eDGDBJOBEgvIeCOCOBbAWEJCFDIIogZJ5cLdYwiQupJDiArAGBQg4AIAAAvXma0ACACAAUj0KRSkBih+XpRkmc1ZANFcBgD0IMOIFCBbG0igG4FjFcHjl+GIE8NTlCEXhgAgBkhIECLQGCKSD0LoFEhoyCMeESI4IiJgDYCiCSB+R0EKGkiIl5h0I8I4PlEKJHTFm0Ksj0KyJyLyK8KMNhBsEIG4JSAYAgFbC6PEE4DqNhBMNCGFnLB8PCLgBaL43aI0IwG4FmVgF4LKyoy4HoI4K8NjAIK0FsghAAAl3R4R7DUheIYAxx4FdioB9jIgMBSx8xfhWxSwQpoIjD0iwA9D6UupQh45ojYihBrR8B8CYAsA9DWRogNCggtChAABiMAAAVhhJhKSKYTvFjAhPwM4FRNRL0O0jQAiJnj41jEtFPAAk2MxIwBGMXlxKqiEGhOhKJPLBJLEOczP2fHUDqMiIaO8KaPGOsEmLkI6KkG6LZD6MyIGKGLgBGM5ImLaN5OmNmJijKPrn0PCMiK+Nn0JLYM-2MTIQqmEPUBITeN5nVL4MECIBnkfHfg4MSHfRmJqN0I1NgJ0B1OBPUM0NhUhLAHdPpO8mczPFpKfyEHwN9MNKkOFkzXoFjAKHkCkHhCBNoBGMqmbloEuzP0tE2P9NTLPyC1ZFogAlLBzKf1zPwEtHR0YM7WTOhNTJpPTKEEzIwGzNzPrKf3wClgWMIntK0D5iAykUQHqNyO8NuVCDoTFkYWYWVQYMVMMKDG4FgECJUQ-TCMMOVJiNVMsIRJSORJgAADZNzNyWykk2yOzMFEBuyRTByGEmEW4xzOTG1pzQdujqB5zvDFzvi1TVykTITtytyNzdzjSdgJ8cNEB+zTzhyLzVixjrzeYkg7yHysiVTYwXyODki3yISPydy7TfyHTYEdTbxjCyJMC2A4AmEFc9D1AGgURrRqTiSODyTOA8SfjLCbDQKJzTDzDLDKKFSminzZ8LCgzBCtdHDojnMxZfRbBXyaMazaJrRFloTSx8DFkZK5LGzyLpdMi2Tey8E+KCgLd0jeTBgpBtIzCAAZGAbyNgaAJIbgfo2gQYzsbwzSxOdo3S5CZioykysyxtYijSpgeynS-4Jywy4yiAUy+ldyu0nBPBDQIKEDRIZIMc7C0M5zCMooCAaMjg0Qr0+QhU6i2i7ihi9isY5i-E-Atixgpo3w6AAIjshI0Ixix8qIpcuIqq149wj4uq7434-4wEhQu8ZQnixC1I+I9I6qhU6Q2QmSWMDc4q4gRQ5Q60VMgi+lEoCEs0ZamMuMjhQxOIpKP00IWa2ycs2yDMmSLMvMk6gsos1aow0w9o6ax4UIMFVk7ItSiU7kqUsavkro+lQUyywY4Y0YicyUqY6SWU1seUxY7BH+cK1oLCrg3k60Ca2yOG1MxG2yDc2kmMpQ9cUooEtQ0Ez7V08S06-Mxsyw08ZShUsFIw9axMzahcbalMhG1MgmigHMlm-AACUm78qeXvLCkM3C6s90JKlKhUwY1wR8csfE9GxOcK0i3ayUJhRNZCz81Co0qeT5KlUMMcrKyk3avQz4+qn4yam6mjLGoQAwAAKiEBOFoCCoRE+AwBbF+CEDNoMA4MGEgnMoyuDJwtMDwvmqIo4N+H1pypjMELaHWPos5urS+UcNDHV0JRzk1opPGrRo4L1ufKKrpJqsurMM9vqF5p9pSHwsIsYGIsGFjFCGhPpteOR3LrPEmp7LyP3BHTgG2iwHDJsHnlojNAAkfBkjJsYKbuglbvbpUT-27t7rJrBrVu+XpjjuXXdEQH4W2h0wQooLzEAHtyCEaC4wnOhZKu1etc98pWr8jgka9oiw1MpZJG30q+zOlWqO9WxAKFaII+OeolRetYO8FehUvq5ExZU8f+-+yOnYe1CAIMHUtK8Qnis+3knih1bwycm8rGtCjQUB8B+lHm72sM-myM5K+Ukq-K3ey0DOyW26jgUOtug22yeahWhIOhoU++kB+BjuCARARwbw4FaAEoMco2u6mwdQSh5Bxh1B5h+lKKzNLyR07qsh-hsOrhWo0+mGt6w0qekRsB5IMR0DfKI1UDHUy0uhCqkIMSKIPQrW2MGKagCS+ilEf008TY-uzgmQ8++mn4+Gz0qBv0s-fAuxu+1Ru1URiAcRqQSR4tH+PRsBgxm00G1sph9Rlho1aenUmy-i5w8xhxUxpO-0lOhU82lIEhWge41wMWeR7E1hbIgAaSSFKCwkXnEEJ3GngEhFxGg1SVuUlGvO0edtTtatn2ZNoD0Lir5uXT9pLo4JItzvIYEdzsgecz6ZUPJukeNtqNNotqtptq+HtrmH5i6YVIbu8IqLmCqJKIUYVIOaKOqJKeib3NifQf5gfu-sYLduoA9vmb8fewCYSYpS+SEDfoTo4PNo4MYIADEIBqhYz+awDQX4AhBvUISQc+EEQ4s5kSgPhNgYwmgr0ZITDoB5BzkrKcWMB8A7wZIjBGFF4SRMXuhvIhEZ4lAzRLRiGI5AWlIdoOiSgdpOA5IIXAgoXAQzbEVHhuAeSZILaEWZl4sj44g7LHh7jaAhBIjxpYgOFkhXAgwE4hBFghB2QKpkg+MERYWQdUXBCtB0WDBHx4RRJ+gk5tIfhhZFgsEegDAmBQgKo8JIgsICKltQgEg5JxhIzW6DAwG4AxxqRFlyLFl8DoSzQXaFSdnGCnTcaLdQhkIEpYwVYoA1JYMVEAKKlfW4B2gZJVdywyApcSEwACkKArDTxch82ZIrDLQAJi2oBoIq2-B63LRNgq38wmhF5e38BF5TwiWgsDAG3LCjAC32362AItbW322AzJ2G207iBZ2GX52GWp2LsAAhWMldy0Ha6whtnagpKdnKhts8aEyd08HaKt3IZ5-EWAKd6gcsXdmkhdgCagbgF9g9y0Kd2wL9t9lMKAXd0ot9+9PRXd+t08ehhIUD-cWgPRHEmiwgXd08dtgwKt696t8dutq9-SbGkEl00IAofoIoGoojmAEjoa+NnGwjwZguoSuwJHJbYBtR25z5mtJ+7tEoX5jW1QgjsEzgZN3N3mdNzNooDAHNhKbDotktstitm92tqdptlt08Nthlzt08btgwXtxeftwd4lkdywgCbDt9md1Tud79qdpd3dtdn9htrdnd8zhl-dqdo9k9+is908C99dq9m9u9uQGAR959pzy0V99dhtj9-98LgCP9kLsLuzgCQD4DqyWDrCcDkLyDtgGQ5ubzhLsD75MztTgktDjDm9wSPjKdpLjLgk6EzgagS0e2t9zgXdk4RZBL0Lgy-AhLsNqdpZKd6EjcqAUIfAqdkbhtht3rg99m-Aiuy0Ewkr3zrDxT3DyemJ1jjR-meO3jzK7qu6goDAQXNgfbqIGOgZpR9Y-an4y78i1M1Gya-R+QQx6KExjg-Ulq2Cn4ws4ioorBwSxE+wACP4uAFj-xuJsRvtEoLbnU3+yEzgM0OHuHjyysUIR8OgaSPmt7vjeXGIkH95sHu5u9ODlYhUh760y5gZ-O7B4Z4u-B0O0iniwOtq7J+N2RyhnisxrJyapd2MAMyamZzA-J+Zghpi3ewkyamHiE6gagM0DAGX9x7EyZuRv8Sawe378x-7xsy0QEQocQIYkhXHtBjbo1QnrCAIxhJFaH-75E+26EtgaEq5n89b+J1leAInxAe2xjscrrBgPMAAda3pQdB9ucQHN+VRd-vWJ8YNJ6e+MYN4+aCfCatIqqEbecN5YaCe4PYfCDaOYQgeYIV9Z9rrYrBsHy96t8hMWUr7O6cdht9Ju7vsYO54WWZ94uR+6NSdkHSa6oxrd3GaobloWqPo-Mjruw-uXst99B99hwp7V8LpGdp8Z9nx4sV7Z+rqW1zqb8rIb-UCRTAFEkuzaJkKYAuvjI2r9NltlqZqJpOsLOLOSHLTPwKSrNCB8bdI3LAHf43KChLIf6EDNCRtTIv9GaR1WsoTRv5Flv+9-QtGfmRrbV4ab-D-h-0gGlkfiiyS+oAPgFX8wBt-A3nQE+wxVViokUjkxyo6t99mThZzADlwFglcQcHSRpeSVI9M4KK5O0tjjz4Mlc6MDZRk1SDBGFwKUTGfvFV9o089Ci-XOgDgyol9ZUgIDBmOWj5xF9SI-aQfE1SBl9D6aREIvLzgqTUuB2g2yGgO37JNUe8UPmkIxZ4991ic1eWiUFV6CRNKpA3htJESAUIhAPjJQQThkH8wJOofewDw0WYMhD64lSStJX9IKVZKBZZsgPBVgEUaMt4VwHYHcFpgVBuUKAkfD8E98Ahb5IIVJXkq5DNeq3PcgFzmDu4bcQUagqGBdyFEShmKd3j2Aeb6EiBs+RfoIL5qJUoytPN7k3wbYq8+Kxg9HgXTMHEByEhON8nEOEqR0ihbuCHiHzhCjkxmvQiQCYILp41Hgigu0q4CsDsD0qQgDcpdzma9Vy+EJNgGAGOHHDt6BVOij0OR6n9qa5-KsuJVC4hDHhpYZ4Y2WhIONkm7fQSl33vobC5W7ZMcp0KYE-FI6fwlIJb3UEDVNB8w5Hn0KSrYNBhHFYEQGRUatkwR3g2Yb4JhHeE4RfNFYbYDWEq0AWCpbYmoTSD81YQ8IUoDRwE7V41m0AW2ps1+D4AOCuQEdFCCEAVQEQVTR5NbR3DlBjCxRUHGkgj6Ahn6baWMtC07wgswW5YQQDswAACOARIKkDFAwAmAbLWaHs3SjYlzWPMAchAHLDugiO8IwCAJg4L3MY6kAt7Gnwwb3MdS1HfjnjQEEcFFijBG0fH0SZjlG+yIlvm9EWJKiM0qQIqKSUQ60VvGtJc0QqTQwPAsRCpH0R9y356E3RWCNgd6KmqF9Lh2-f0YIBwKNZw4qeYpImBABvEogJoVAJnljjlIMo0APUOmzwBotGgBgT7FoHUKnQ3WWPaAAqMtBs18Ap4DsbpA9BYlqkjafoHgDFA4h7QZkIAA).