Second commit, adding a class define api to make model definition more declarative