Added both Composer/Composer<T> and unit tests