I should also mention if you want to be able to change the Type internally, but not expose it as part of the public API, you could use a private writer method (prefixed with _). See the "reader" and "writer" properties of attributes.
-- Oliver Charles / aCiD2