Implementing the checkout kata as an api