1. We cannot use `0` here (even though it makes sense) because internally, Concourse uses it as a special code to refer to the present state. I'd suggest using `-1`.
2. When you return the Timestamp use `fromMicros` instead of calling `new Timestamp`. Even though we aren't doing it now, in the future we may do object pooling for Timestamp objects, so its best to funnel everything through one static factory in case anything changes. I realize I didn't do that for the other static factories, but that was bad programming my part :(