random stuff: Timeframe -> TimeFrame; goalType; a finished (but untested) instance FromJSON Goal; internal and external interface to the goal endpoint