added lens.create method, refactored how lenses and thier test helpers work