Make required function core more easy to be overwritten.