refactor: cleanup internal message data structure