Adding promise support via Q