Producing, storing, managing and using energy