Split API classes and interfaces

This is likely the place to apply the white list of commands that must be sent to a primary.