Refactored Movable and Holder