Allow construct => sub { ... } instead of default constructor