Simplify main exported function.

Simplifies the variable argument checking and uses `object-assign` to assign defaults in a cleaner fashion. :smiley: