Less hacky, cleaner API, faster and extensible.