I am trying to understand the architecture of DOTS and at least at the moment, there are a few places where it seems that it is challenging to build without using a monobehavior. Some examples: On a button UI element for example, the current method of handling the onclick event in a button script looks for a Monobahavior. The LoadSceneAsync method in SceneManager requires a Coroutine because it is a Unity AsyncOperation (as opposed to an awaitable Task you might find in C#) The samples provided with the NEW INPUT SYSTEM appear to use monobehaviors as well. (edit: actually this doesn't seem to need a monobehavior) In my current project, I'd ideally like to learn to build in a way that doesn't rely on "old" methods, but since I keep running up against the "crutch" of just doing everything the monobehavior way I find myself wondering if I've just got a broken perception of the right way to do things. Is the goal of DOTS to work without Monobehaviors entirely or to just eliminate them from the primary game loop?