Introduced API entry-point and more separation