Simplify logic, let the messages be cached later