2.0 - Rewrite of message handling