Implement single cycle using Programmatic.

Closes #312.