Passing a constructor is now optional. Documentation added.