The problem is that a lot of entities need to send messages to specific other entities for example a lot of entities may want to know the players ID to send messages specifically for that entity. Previously the Entity ID's were just unsigned int values that were generated when an Entity was created, which made it impossible to know which entity was the player unless the order stayed the same.
To overcome this I have now changed the Entity ID system to be a little more flexible, initially an Entity has an EntityType and an EntityName. An example of this could be "GUI" and "StatsBar", this along with the original unique ID now combine to make a unique ID such as "GUIStatsBar34". I know what you're thinking: "But that doesn't overcome the not knowing the player ID problem". Okay so to overcome this, you can either provide Entity Type and Entity Name or specify the Unique ID yourself. So for the player the UniqueID is "MainPlayerID".
This overcomes the issue of knowing a specific entities ID and also gives some better debugging information. Previously an Entity would have an ID of 37 and I would have to guess what it was from the Components and Data Components that it had. Now I can just look at the ID and it should give me some hint as to the object I am dealing with.
Okay so not much to show this time but there has been quite a bit of work behind the scenes. Next few things on the cards are to get the networking aspect of the engine setup before going much further, especially as this may involve some changes to the messaging system and general game architecture.
Happy Coding :)