New interface: RunnableWithContext
Objects implementing this interface can initialize themselves and
execute a task they represent, with a context as parameter.
To implement the interface, the following method have to be implemented:
public static function Run (Context $context);
It's not expected it returns the instanced object.