Fixed up the example and interfaces to minimize required overrides