OPTIQ-101: First pass at interfaces for component access

First pass at interfaces for Optiq component access.  PlannerInstance is an abstract class here but would probably actually be an implementation class in the final version of this task.