Fixes #17 and problems with completion

The Text component had only been checking the component-body selector.
This was incorrect as body is optional.  The sequence in this change is:
1. Check instruction
2. Check body
3. Default to completed if neither are found