Rattail uses the concept of a “handler” to allow for two things primarily:
customization of app logic without “forking” Rattail package(s)
keep logic in a “single” place which can be leverage by multiple UIs
The idea is that for various aspects of an app, there will be one and only one “handler” which is responsible for the business logic. Rattail usually comes with a default handler, which will be used unless you’ve created your own handler and configured it to be used instead.