Added PlayerHPManager and refactored into packages