Improve status reporting.

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

Change-Id: I83457a8b5424d3bc035ee4870047c2c7531ea7c7