Status reflection

This is a rebased version of the original branch with some specs improvements.