Json output

Add support for basic JSON generation in Calendars
would love to better understand the benefit of laziness here.