Refactor fluent API types
Move record types to their own package
Test MessaeTypeStep