Add MaybeOk helper and support for async actions