Casting a Promise object returns that Promise object
Implemented 'resolve' as a method with distinctive behavior as compared to 'cast'
Implemented 'reject'