clean-up Thing. i have a feeling that we're getting there.
introduce Operation::Actions that encapsulates default behaviour for success: and invalid:.