Moving functionality in to visitors.