We need a third class of employment, the employee-contractor. It is one thing for independent contractors to provide a service for a company without necessarily being employed by the company, like a software consultant, but when a business cannot exist without so-called independent contractors (unless they're hired outright), then they ought to be responsible for some of the cost, such as gasoline or repairs, but at the same time, their contract can be canceled at any time by the employer. That gives the employer flexibility and the employer-contractors stability.