Category: designing a virtual class