Removed the need for a bunch of constructors with introducing a builder in Message