Some more refactoring; a renderer refactor is pending after all shadow types are working;