public virtual bool Begin()
{
if ( !RaiseBeginningEvent( this ) )
return false;
UndoState = Player.DrawBegin( this );
StartTime = DateTime.UtcNow;
HasBegun = true;
Map.QueueDrawOp( this );
RaiseBeganEvent( this );
return true;
}