Cedar, and passing specs for a key detector
Improve spec and use from AppDelegate

…it turns out that this isn’t what we need: this is fire-once, and we need fire-many (each time key is pressed).
give unused point a name in spec
test helper for synthesizing keypresses
Call a block instead of returning a promise

(We need to handle key presses multiple times…duh)
Show a dialog box if we don't have key access
Add a StoryController to wire stuff up

StoryRepository, too, but it’s pending async tests
oops, move a spec to its proper place
Pass test by grabbing first story from tracker

We're obviously missing a test
Tidy AppDelegate with a StoryController factory method
Remove superfluous parens
Copy to clipboard: hardcoded story owner
Add story owner as dependency of story repo
move config up to AppDelegate
Preferences controller and nib

No bindings yet
Play with nibs
preferences controller spec’d out a bit
Send updates to a fictitious preferences repository
Functional.

Store preferences in key chain
Remove hardcoded IDs etc.
Remove KSDeferred for now