Simplified the promises extension methods to eliminate certain generic types