Ros shared lib base class

Should probably be in a higher-order header