Not necessary to change this, but here's a shorthand for an empty ctor:

    SparkPolymer();

and I think no-arg ctors are implied if there are no others defined. Personally, it's comforting to have at least one ctor explicitly defined.