Do I need to use exactly the same code or can I implement logic like this?
I have used code like this in previous projects and I know how it works, however, if use this code is a prerequisite, I will use it.
Sorry I didn't see your comment. It needs to use the tutorial as a base so add to it as much as you like but careful what you take away. You'll probably be fine if you have a raycast interact system where the interactable is where you store the data and the interactor is where you have functionality. It's best to just use the tutorial.