Proof of concept for the Visitor design pattern.