Making Behavior.Source protected

To make Behavior.Source protected, EventLoop.Loop needed to be modified
to accept an Observable instead of just an Event, so that the Behavior
itself could be passed in, instead of Behavior.Source