encapsulate Block::inputs and Block::outputs