Make OwnerPointer Movable & add test cases