Introduce object-oriented API
Introduce plugins system