Splat! refactored to use and accept **notation (rather than dicts)