[Yujun] Refactored some classes.
[Yujun] Removed underline from the enum variable names.