namespace Common;
///
/// Provides Context of some thread. Allows user of the interface to run actions on the thread of the implementer.
///
public interface IContext
{
///
/// Indicates wether the thread this property gotten from is equal to the implementers thread.
///
bool IsSynchronized { get; }
///
/// Run on the implementers thread.
///
/// action to run
void Invoke(Action action);
///
/// Start running on the implementers thread.
///
/// action to start
void BeginInvoke(Action action);
}