now implements VisitableMessageWrapper (visitor pattern implementation)