Part I: The OpenMM Application Layer