Updated API to be more declarative. Added config for CI job.