Label to status refactoring

This refactoring also uses commits from the previous pull request. Let me know if that causes any problems

Note: I tried my best to obtain a 'clean' refactoring'. Let me know if there are any issues asap please!