Removed Transitions and replace with dictionary type alias  (thinking of creating it as a structure to allow for more versatility)
Wrote some tests to see if the transitioning of the state machine worked well.
Things seem pretty good otherwise, I'm concerned that TimeSheet cannot be written in a more declarative way without using a parser. Perhaps this is as close to an internal DSL, though as Martin Fowler pointed out, this does not have the look of a state machine, just the functionality of one. So perhaps more can be done though research into the swift language seems to have come up with little in the way of answers.