void IActivate.Activate() {
if(IsActive)
return;
var initialized = false;
if(!IsInitialized) {
IsInitialized = initialized = true;
OnInitialize();
}
IsActive = true;
Log.Info("Activating {0}.", this);
OnActivate();
Activated(this, new ActivationEventArgs
{
WasInitialized = initialized
});
}