def backdoor(name, *arguments)
      Calabash::Internal.with_current_target {|target| target.backdoor(name, *arguments)}
    end
def backdoor(name, *arguments)
      Calabash::Internal.with_current_target {|target| target.backdoor(name, *arguments)}
    end
Invoke a method in your application.

 This is an escape hatch for calling an arbitrary hook inside
 (the test build) of your app.  Commonly used to "go around" the UI for
 speed purposes or reset the app to a good known state.

 For iOS this method calls a method on the app's AppDelegate object.

 For Android this method tries to invoke a method on the current Activity
 instance. If the method is not defined in the current activity, Calabash
 tries to invoke the method on the current Application instance.

 @note The Android implementation accepts any number of arguments, of any
  type including null (Ruby nil). The iOS implementation does not accept
  more than one argument, of the type NSString (Ruby String) or
  NSDictionary (Ruby Hash).


 ### For iOS

 You must create a method on you app delegate of the form:

     - (NSString *) calabashBackdoor:(NSString *)aIgnorable;

 or if you want to pass parameters

     - (NSString *) calabashBackdoor:(NSDictionary *)params;

 ### For Android

 You must create a public method in your current Activity or Application.

     public <return type> calabashBackdoor(String param1, int param2)

 @example
   # iOS
   backdoor('calabashBackdoor:', '')

 @example
   # iOS
   backdoor('calabashBackdoor:', {example:'param'})

 @example
   # Android
   backdoor('calabashBackdoor', 'first argument', 2)

 @param [String] name The selector/method name.
 @param [Object] arguments A comma separated list of arguments to be
  passed to the backdoor selector/method.
 @return [Object] the result of performing the selector/method with the
  arguments (serialized)