OOP extensions for JS