update to Status to make it a abstract class, and constructers, and fix
typos