I do not register a class, I can not understand what the problem is...

Code:
import bpyimport bmesh
from bpy.props import IntProperty, FloatProperty
from bpy_extras.view3d_utils import (region_2d_to_origin_3d, region_2d_to_vector_3d, region_2d_to_location_3d)
from mathutils import Vector, Matrix
from math import radians


bl_info = {
"name": "Quick Premetiv :)",
"location": "View3D > Add > Object > Quick Premetiv,",
"description": "Auto detect a delete elements",
"author": "Vladislav Kindushov",
"version": (0,1),
"blender": (2, 7, 8),
"category": "Object",
}
#############################################
first_mouse_y = IntProperty()				#
first_mouse_x = IntProperty()				#
first_value = FloatProperty()				#
bm = bmesh.new()							#
#############################################


class Test():


	saveCursor = None
	verts = None


	def Mouse3D(self, context, event):
		coord = event.mouse_region_x, event.mouse_region_y
		region = context.region
		rv3d = context.space_data.region_3d
		vec = region_2d_to_vector_3d(region, rv3d, coord)  # вектор направления камеры
		loc = region_2d_to_location_3d(region, rv3d, coord, vec)  # положение мыши в 3d относительно вектора камеры
		return loc


	def SetCursor (self, context):
		loc = self.Mouse3D(self)
		bpy.context.scene.cursor_location = (loc)
		self.saveCursor = loc


	def Create(self):
		#bm.from_mesh()
		bmesh.ops.create_cube(bm, 2.0, calc_uvs = True)
		self.verts = [v for v in bm.verts[1:]]


		#все вертексы ставим в 1 положение
		for v in self.verts:
			v.co = self.saveCursor


	def FerstPos(self, tall):


		loc = self.Mouse3D(self)


		vertsX = bm.verts[4,5,6,7]
		vertsY = bm.verts[2,3,6,7]
		vertsZ = bm.verts[1,3,5,7]


		for v in vertsX:
			v.co = loc[0]


		for v in vertsY:
			v.co = loc[1]


		if tall:
			for v in vertsZ:
				v.co = loc[2]






class QuickPremetiv(bpy.types.Operator):
	bl_idname = "quick_premetiv"
	bl_label = "Quick Premetiv"
	#bl_options = {'REGISTER', 'UNDO'}


	Test()
	state = False # следит за тем был создан объект или нет
	tall = False # следит за моментом когда пора изменять высоту


	@classmethod
	def poll(cls, context):
			return context.active_objectv
	def modal(self, context, event):


		if event.type == 'MOUSEMOVE':


			if not self.state:
				Test.SetCursor(self)


			if event.type in {'LEFTMOUSE'}:
				if self.state:
					self.tall = True
				if not self.state:
					verts = Test.Create(self)
				self.state = True
			FerstPos(self, self.tall)


			return {'PASS_THROUGH'}


		elif event.type in {'RIGHTMOUSE', 'ESC'}:
			me = bpy.data.meshes.new("Mesh")
			bm.to_mesh(me)
			bm.free()


			# Add the mesh to the scene
			scene = bpy.context.scene
			obj = bpy.data.objects.new("Object", me)
			scene.objects.link(obj)


			# Select and make active
			scene.objects.active = obj
			obj.select = True
			return {'FINISHED'}


	def invoke(self, context, event):






		context.window_manager.modal_handler_add(self)
		return {'RUNNING_MODAL'}


def register():
	bpy.utils.register_class(QuickPremetiv)




def unregister():
	bpy.utils.unregister_class(QuickPremetiv)




if __name__ == "__main__":
	register()