Ask objects prompt a user for an object repeatedly until valid data is entered. Help messages are displayed based upon user inputs or errors. Supports various natural languages. Handles journaling and mixed indirect input from files and user keyboard which makes for easier testing of applications. Includes documentation, example applications and test code.