bus: introduce bus abstraction