Refactored a lot of smoke and some other random tidbits here and there

Refactored with @Raane and @stianjensen