MSGFactory implementation (still incomplete)