Abstract implementations of the application and plugin