Added test coverage tags, updated object type

Added a enum for tracking test coverage of Functional component. Revised types to reflect updated types in Functional component. Specifically, renamed Functional<T> to F<T>.