Reworked the label public API