Messy commit. Contains work-in-progress code for separating Labels into respective components whilst retaining attributes.