Provides OOP functionality to JS