[ ] Review my implementation of CallbackQueryId in TlgInput and OutputDto - these seem to be Telegram.Bot specifics leaking into my supposedly pure models / logic / dtos. Can I at least find naming that abstracts from Telegram specifics and makes it more about the function this fulfills? Ultimately the CallbackQueryId info is just making a roundtrip from incoming Update to BotclientWrapper where it is used. Is there not a way maybe to store it in some sort of variable which can be accessed throughout the lifetime of a botInvocation? And if this Id is not None, that means the Update we are handling is a Callback query and that means in the BotClientWrapper we need to call .AnswerCallbackQueryId (to shorten how long Loading... is shown) and that's it. So yes, seems like there should be a way where none of my business logic or model classes need to know about it at all, in other words, this never leaves the ChatBot.Function namespace!!! Is this an example for the justified use of a global variable / singleton???
[ ] This would also solve the problem in the current implementation that e.g. using the 'Back ' button, the 'Loading...' stays longer!
[ ] In that case, don't forget to remove callbackQueryId again also from signature of BotClientWrapper.Edit...() method. Not just from TlgInput and OutputDto.
[ ] Also, currently, after Successful submission, the 'Loading...' doesn't go away at all. Make sure this is also fixed with the improved implementation!