modules everywhere for sources, sinks, encoders, decoders...;
more primitives in Sink; direct access to eof/cur/junk in Source