Refactored tutorial to provide an extensible interface for building tutorials, as well as a standard tutorial.