The internal promise should always be returned.
No need for self variable.
Nested query support.