Fix unsafe argument being passed in

@dmyerscough passing default argument that are mutable causes issues in python
just fyi :)
Don't pass mutables as defaults
Clean up exceptions and stop passing a mutable