WIP: Completely refactoring the promise, result, action relationship