Issue #169 - Move models and types into seperate package