Redesigning profile model based on factory pattern.
Continuing the redesign of the profile interface