Instead of passing them via pass_chat_data and pass_user_data explicitly, the user and chat data should be attached to the actual wrapper objects:
update.effective_user.data,
update.effective_chat.data
This should happen in the same fashion as many of the ptb objects get a bot injected.
As user_data and chat_data are only pass_ -able when they actually exist, I think this could be a good way of integrating everything a bit better by removing all the pass_* arguments.
This may happen either in preparation for #1026, or as a replacement for it (as the number of pass_* statements would sink). Also, it'd be consistent with Pyrogram.