Not really sure what I'm doing so far. Trying to split out the UX from the API.
Another commit