remove file observers from core project
Indroduce BaseModifyUserProfileStep to do profile modifications.

Changed the UserProfileManager to resolve version forks. Helps to reduce
duplicated code and improve readability.