externalized styles, added comments, added hideOnMouseOut option