enable ->new to take a hash OR hashref for params