Refactored getValue/setValue/reset into Component