Many high precision (dis)assembly tasks are still being performed by humans, whereas this is an ideal opportunity for automation. This paper provides a framework which enables a non-expert human operator to teach a robotic arm to do complex precision tasks. The framework uses a variable Cartesian impedance controller to execute trajectories learned from kinesthetic human demonstrations. Feedback can be given to interactively reshape or speed up the original demonstration. Board localization is done through a visual estimation of the task board position and refined through haptic feedback. Our framework is tested on the Robothon benchmark disassembly challenge, where the robot has to perform complex precision tasks, such as a key insertion. The results show high success rates for each of the manipulation subtasks, including cases when the box is in novel poses. An ablation study is also performed to evaluate the components of the framework.