WIP: Got most things working but experimenting with mocking.