Implementing the checkout kata as an API