Basic Watch functions

Add basic watch function functionality. There isn't any fuzzy matching yet, and the UI is still basic and a bit janky, but it's a functional first step. Related to #12