accept constructor params as hash ref as well
whoops, fixed the bug I had introduced right before giving a demo of this, doh!