Changed the way messages are handled by components