Bug 899434 separating the model from the menuitem class so that it may be reused