Refactoring HAL interface to application.