An additional technical downside in this case is the code complexity in the client code, from the required modal preprocessor flags.