Added support for background theme and made a few variable protected instead of private so you can set defaults in your construct.