[IN PROGRESS] 2dimensional-OOP for JavaScript, an alternative to aspect-oriented programming