chronos/src/main/java/com/redmadrobot/chronos/ChronosConnector.java
public final int runOperation(@NonNull final ChronosOperation operation, @NonNull final String tag,
            final boolean broadcast) {
        return mChronosListener.invoke(operation, tag, broadcast);
    }
public final int runOperation(@NonNull final ChronosOperation operation, @NonNull final String tag,
            final boolean broadcast) {
        return mChronosListener.invoke(operation, tag, broadcast);
    }
Runs an operation in a background thread. Only one operation with the given tag may run in a
single moment of time. The result will be delivered to {@link Chronos#OWN_CALLBACK_METHOD_NAME}
method. If {@code broadcast} is {@code true} all other Chronos clients will receive the
result in {@link Chronos#BROADCAST_CALLBACK_METHOD_NAME} method. Both method must have only
one parameter of type {@link ChronosOperation#getResultClass()} to receive a result.

@param operation an operation to be run in background
@param tag       value which prohibits running new operations with the same tag while there
is a running one
@param broadcast {@code true} if any other Chronos clients should be able to receive a
result; {@code false} otherwise
@return a unique launch id, may be the same with the previous run with the same tag, if the
operation is still running
@see #runOperation(ChronosOperation, boolean)
@see #cancelOperation(int, boolean)
@see #cancelOperation(String, boolean)