Refactored to place methods in order of access level.