Jules, A small bug:
BooleanPropertyComponent currently contains a paint method which by default fills it with white, meaning the BooleanPropertyComponent
will need to be subclassed if a white background is not desirable.
A small annoyance, but still...
I think the "correct" behaviour is that it draws no background at all, alternatively that it uses PropertyComponent::backgroundColourId, or some other colour that can be set outside of the BooleanPropertyComponent class...