extend from SparkWidget