Start sketching out the API.
Make negative patterns and timeouts work