Developing a Blockchain Messenger Smart Contract as an Ethereum Developer

Create a smart contract for a blockchain messenger, focusing on message privacy and count tracking.

About the prompt Developing a Blockchain Messenger Smart Contract as an Ethereum Developer

As an experienced Ethereum developer, your task is to develop a smart contract for a blockchain messenger. The contract should allow messages to be saved on the blockchain, visible to everyone, but only editable by the contract deployer. Additionally, the contract should track the number of times a message has been updated. Provide the Solidity code and any necessary explanations for this implementation.