Split public api and internal functionality into two separate modules
Lensify code base