Added jQuery deferreds to handle and transition. Also made them private methods