oop wp framework