an object/component model for love2d