A bit off topic but their handling of async IO tasks is awful. The engine polls them for you but you also need to poll them yourself in a separate system, because you can't access a `Commands` instance from inside the future without blocking the main thread and there is no way to pass a callback that runs when it's finished. That's not a problem most games will see but for anyone loading content from a server (like patch notes or server lists) or using Bevy as a UI library it can add up.