various refactorings, documentation improvements, also made rainbows fade smoothly and explosions non-blocking, fade smoothly as well