Changing from multimethods to protocols.