public MotorWithFeedback(Action<int, double, TimeSpan> physicalTrigger)
{
Executor.Current.Register(this);
this.physicalTrigger = physicalTrigger;
this.Trigger = new Action<int?, bool>((newPos, failed) =>
{
var handler = StatusChanged;
if (handler != null)
handler(this, new LogicalDevice.Event.MotorStatusChangedEventArgs(newPos, failed));
});
}