Abstract custom handler