implement styling for different draw states
mark object dirty based on available style states