A NavOptionProvider generates a list of steps at runtime, from which the user can then select. A step can refer to a NavigationOptionProvider instead of listing each navigation option.
The interface for this class is extremely simple:
public interface INavigationOptionProvider {
/**
* A Navigation provider should create a List of NavigationOptions.
*
*/
public List<NavigationOption> provide() ;
