- [ ] Separate declaration/implementation in header and include files - [ ] Virtualize functions - [ ] Split algorithm flow in logical parts related to needle insertion phases (puncture, insertion etc.)