Fix the version header
Add the EntityMessageGenerator interface to abstract over code responsible
  for generating EntityMessage instances.