See github.com/laffra/Tempo for more details.