* Implement patch abstractions and patch loader using an interface * remove patch loader * rename patch class