Improve status reporting.

Add more granular status reporting; refactor the 'status' module.

Change-Id: Ie1132121e5bfc28bbfe9867e974955b90a9bf36e