Added Visitor Pattern. @todo: add multiple visitors action.