Major overhaul mainly in terms of identifying sources and sinks as actors in their own rights. This makes managing resources nicer and easier to manage multiple sources and sinks. Thanks to @richdougherty for pushing me in this direction.