added Message class for broadcasting project state changes