I have a MVC architecture, and I have the basic views completed. I now need to add the first user tutorial mode into the project. I don't want to add checks for first user state in all the views that need it, but the only alternative I can think of is to subclass everything and use those subclasses on first open. Is there a standard or widely-used practice for adding support for tutorials, etc. without making a mess of everything?
EDIT: I was unclear in my question.
I'm talking about tutorials that a user encounters when first using the app -- in our case we want to add visual effects to direct their attention to key UI elements. I wrote "first user state" to mean we store state about the number of uses on a local machine and use that to determine if display is necessary. Usually I would add some kind of edge case code to the views, say, if User.firstUse() arrowView.show();, but I was wondering if there's a cleaner way to partition that kind of code from regular code.