Select a random element from a Map<element, weight>
Light weight object validation schema
Makes it simple to interface with Garmin Connect to get or set any data point