discard Builder pattern of Message and its decendent Classes asfgasd