Object communication library using promises