Refactored to better class names.