steering input abstraction
plugin architecture