no leaking default dict

having mutables as defaults on functions and methods is potential for memory leaks.