move to SourceManager
decouple binding of source module to pass and passmanager at create time