Allow can be wrapped with custom functionality