Refactoring to allow for interaction with labels and improve ability for custom styling