Add framework for commands; Add Rejectable; Move stuff around
More shuffling; Add some docs