Removed the on and abort methods, they were non-promise-specs
Removed the retain/release calls, a promise should never try to keep itself alive.