 		/// - parameters:
 		///   - error: An error object sent with failed event.
 		public func send(error: Error) {
-			action(.failed(error))
+			_action(.failed(error))
 		}
 
 		/// Puts a `completed` event into `self`.
 		public func sendCompleted() {
-			action(.completed)
+			_action(.completed)
 		}
 
 		/// Puts an `interrupted` event into `self`.
 		public func sendInterrupted() {
-			action(.interrupted)
+			_action(.interrupted)
 		}
 	}
 }

	/// (typically from a Signal).
	public final class Observer {
		public typealias Action = (Event) -> Void

		/// An action that will be performed upon arrival of the event.
		public let action: Action

		/// Whether the observer should send an `interrupted` event as it deinitializes.
		private let interruptsOnDeinit: Bool

		) {
			var hasDeliveredTerminalEvent = false

			self._action = transform { event in
				if !hasDeliveredTerminalEvent {
					observer._action(event)

					if event.isTerminating {
						hasDeliveredTerminalEvent = true
