(For Aaron) - Added parameters to update config function

added type checking for funciton parameters
added unit tests

@abeppu 
Changing a method signature in a non-backwards compatible way is a bad idea. Also, Ruby idiomatically accepts hashes of attributes rather than many formal parameters.